Coverage Report

Created: 2025-06-25 01:50

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
54.6k
    {
87
54.6k
        return s - i;
88
54.6k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
52.0k
    {
87
52.0k
        return s - i;
88
52.0k
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
2.58k
    {
87
2.58k
        return s - i;
88
2.58k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v4::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
54.6k
    {
108
54.6k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
54.6k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
52.0k
    {
108
52.0k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
52.0k
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
2.58k
    {
108
2.58k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
2.58k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
107
22
    {
108
22
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
22
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
93.7k
    {
132
93.7k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
93.7k
        return t;
136
93.7k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
115k
    {
151
115k
        i += n;
152
115k
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
109k
    {
151
109k
        i += n;
152
109k
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
5.78k
    {
151
5.78k
        i += n;
152
5.78k
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.78k
    {
161
3.78k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.78k
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
3.71k
        else {
169
3.71k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.71k
        }
173
3.78k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
1.51k
    {
161
1.51k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.51k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.51k
        else {
169
1.51k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.51k
        }
173
1.51k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
66
    {
161
66
        constexpr auto zero = iter_difference_t<I>{0};
162
163
66
        if (n > zero) {
164
132
            while (n-- > zero) {
165
66
                ++i;
166
66
            }
167
66
        }
168
0
        else {
169
0
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
0
        }
173
66
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
2.20k
    {
161
2.20k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.20k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.20k
        else {
169
2.20k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.20k
        }
173
2.20k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
0
    {
181
0
        while (n-- > iter_difference_t<I>{0}) {
182
0
            ++i;
183
0
        }
184
0
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
1.91k
    {
190
1.91k
        i = std::move(bound);
191
1.91k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
1.00k
    {
190
1.00k
        i = std::move(bound);
191
1.00k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
912
    {
190
912
        i = std::move(bound);
191
912
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
252
    {
203
4.11k
        while (i != bound) {
204
3.86k
            ++i;
205
3.86k
        }
206
252
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
174
    {
203
2.74k
        while (i != bound) {
204
2.56k
            ++i;
205
2.56k
        }
206
174
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
78
    {
203
1.37k
        while (i != bound) {
204
1.29k
            ++i;
205
1.29k
        }
206
78
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
46.8k
    {
212
46.8k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
96
            auto dist = bound - i;
214
96
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
96
            return dist;
216
96
        }
217
46.7k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
46.7k
        return n;
219
46.8k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
46.8k
    {
212
46.8k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
96
            auto dist = bound - i;
214
96
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
96
            return dist;
216
96
        }
217
46.7k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
46.7k
        return n;
219
46.8k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
4.32k
    {
227
4.32k
        constexpr iter_difference_t<I> zero{0};
228
4.32k
        iter_difference_t<I> counter{0};
229
230
4.32k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
4.32k
        else {
237
14.8k
            while (n-- > zero && i != bound) {
238
10.4k
                ++i;
239
10.4k
                ++counter;
240
10.4k
            }
241
4.32k
        }
242
243
4.32k
        return counter;
244
4.32k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
3.42k
    {
227
3.42k
        constexpr iter_difference_t<I> zero{0};
228
3.42k
        iter_difference_t<I> counter{0};
229
230
3.42k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.42k
        else {
237
11.4k
            while (n-- > zero && i != bound) {
238
8.05k
                ++i;
239
8.05k
                ++counter;
240
8.05k
            }
241
3.42k
        }
242
243
3.42k
        return counter;
244
3.42k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
902
    {
227
902
        constexpr iter_difference_t<I> zero{0};
228
902
        iter_difference_t<I> counter{0};
229
230
902
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
902
        else {
237
3.34k
            while (n-- > zero && i != bound) {
238
2.44k
                ++i;
239
2.44k
                ++counter;
240
2.44k
            }
241
902
        }
242
243
902
        return counter;
244
902
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
0
    {
252
0
        constexpr iter_difference_t<I> zero{0};
253
0
        iter_difference_t<I> counter{0};
254
255
0
        while (n-- > zero && i != bound) {
256
0
            ++i;
257
0
            ++counter;
258
0
        }
259
260
0
        return counter;
261
0
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
72.3k
    {
268
72.3k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
72.3k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
62.8k
    {
268
62.8k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
62.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
5.78k
    {
268
5.78k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
5.78k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.51k
    {
268
1.51k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.51k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
267
66
    {
268
66
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
2.20k
    {
268
2.20k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
2.20k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
2.06k
    {
275
2.06k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
2.06k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
904
    {
275
904
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
904
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
174
    {
275
174
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
912
    {
275
912
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
912
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
78
    {
275
78
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
78
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
51.1k
    {
283
51.1k
        return n - fn::impl_i_n_s(i, n, bound);
284
51.1k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
3.42k
    {
283
3.42k
        return n - fn::impl_i_n_s(i, n, bound);
284
3.42k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
46.8k
    {
283
46.8k
        return n - fn::impl_i_n_s(i, n, bound);
284
46.8k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
902
    {
283
902
        return n - fn::impl_i_n_s(i, n, bound);
284
902
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
205M
    {
296
205M
        ++x;
297
205M
        return x;
298
205M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
2.47k
    {
296
2.47k
        ++x;
297
2.47k
        return x;
298
2.47k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
34.5k
    {
296
34.5k
        ++x;
297
34.5k
        return x;
298
34.5k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
1.40k
    {
296
1.40k
        ++x;
297
1.40k
        return x;
298
1.40k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
205M
    {
296
205M
        ++x;
297
205M
        return x;
298
205M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
68.6k
    {
304
68.6k
        ranges::advance(x, n);
305
68.6k
        return x;
306
68.6k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
62.8k
    {
304
62.8k
        ranges::advance(x, n);
305
62.8k
        return x;
306
62.8k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
5.78k
    {
304
5.78k
        ranges::advance(x, n);
305
5.78k
        return x;
306
5.78k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
303
66
    {
304
66
        ranges::advance(x, n);
305
66
        return x;
306
66
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
2.06k
    {
313
2.06k
        ranges::advance(x, bound);
314
2.06k
        return x;
315
2.06k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
904
    {
313
904
        ranges::advance(x, bound);
314
904
        return x;
315
904
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
174
    {
313
174
        ranges::advance(x, bound);
314
174
        return x;
315
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
912
    {
313
912
        ranges::advance(x, bound);
314
912
        return x;
315
912
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
78
    {
313
78
        ranges::advance(x, bound);
314
78
        return x;
315
78
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
40.1k
{
458
40.1k
    return is_ascii_space_lookup[static_cast<size_t>(
459
40.1k
        static_cast<unsigned char>(ch))];
460
40.1k
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
282k
{
469
282k
    return static_cast<unsigned char>(ch) <= 127;
470
282k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
3.67k
{
474
3.67k
#if WCHAR_MIN < 0
475
3.67k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
3.67k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
310k
{
483
310k
    return cp <= 127;
484
310k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + n) - (word & ~0ull / 255 * 127)) & ~word &
532
0
             ((word & ~0ull / 255 * 127) + ~0ull / 255 * (127 - m))) &
533
0
            (~0ull / 255 * 128));
534
0
}
535
536
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
537
32.3k
{
538
32.3k
    SCN_GCC_PUSH
539
32.3k
    SCN_GCC_IGNORE("-Wsign-conversion")
540
32.3k
    return ((word + ~0ull / 255 * (127 - n)) | word) & ~0ull / 255 * 128;
541
32.3k
    SCN_GCC_POP
542
32.3k
}
543
544
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
545
0
{
546
0
    word ^= 0x8080808080808080ull;
547
0
    if (word == 0) {
548
0
        return 8;
549
0
    }
550
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
551
0
}
552
553
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
554
0
{
555
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
556
0
    auto input = word ^ pattern;
557
0
    auto tmp = (input & mask) + mask;
558
0
    tmp = ~(tmp | input | mask);
559
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
560
0
}
561
562
constexpr uint32_t log2_fast(uint32_t val)
563
0
{
564
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
565
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
566
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
567
0
568
0
    val |= val >> 1;
569
0
    val |= val >> 2;
570
0
    val |= val >> 4;
571
0
    val |= val >> 8;
572
0
    val |= val >> 16;
573
0
574
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
575
0
}
576
577
constexpr uint32_t log2_pow2_fast(uint32_t val)
578
0
{
579
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
580
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
581
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
582
0
583
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
584
0
}
585
586
constexpr uint64_t byteswap(uint64_t val)
587
0
{
588
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
589
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
590
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
591
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
592
0
}
593
594
/////////////////////////////////////////////////////////////////
595
// <function_ref>
596
/////////////////////////////////////////////////////////////////
597
598
namespace fnref_detail {
599
template <class T>
600
inline constexpr auto select_param_type = [] {
601
    if constexpr (std::is_trivially_copyable_v<T>) {
602
        return detail::type_identity<T>();
603
    }
604
    else {
605
        return std::add_rvalue_reference<T>();
606
    }
607
};
608
609
template <class T>
610
using param_t =
611
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
612
613
template <typename Sig>
614
struct qual_fn_sig;
615
616
template <typename R, typename... Args>
617
struct qual_fn_sig<R(Args...)> {
618
    using function = R(Args...);
619
620
    static constexpr bool is_noexcept = false;
621
622
    template <typename... T>
623
    static constexpr bool is_invocable_using =
624
        std::is_invocable_r_v<R, T..., Args...>;
625
626
    template <typename T>
627
    using cv = T;
628
};
629
630
template <typename R, typename... Args>
631
struct qual_fn_sig<R(Args...) noexcept> {
632
    using function = R(Args...);
633
634
    static constexpr bool is_noexcept = true;
635
636
    template <typename... T>
637
    static constexpr bool is_invocable_using =
638
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
639
640
    template <typename T>
641
    using cv = T;
642
};
643
644
template <typename R, typename... Args>
645
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
646
    template <typename T>
647
    using cv = T const;
648
};
649
650
template <typename R, typename... Args>
651
struct qual_fn_sig<R(Args...) const noexcept>
652
    : qual_fn_sig<R(Args...) noexcept> {
653
    template <typename T>
654
    using cv = T const;
655
};
656
657
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
658
SCN_CLANG_PUSH
659
SCN_CLANG_IGNORE("-Wcast-function-type-strict")
660
#endif
661
struct base {
662
    union storage {
663
        constexpr storage() = default;
664
665
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
666
101k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
101k
        {
668
101k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbcES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.71k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.71k
        {
668
2.71k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbDiES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
22.7k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
22.7k
        {
668
22.7k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
41.0k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
41.0k
        {
668
41.0k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
1.01k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.01k
        {
668
1.01k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
566
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
566
        {
668
566
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
8
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
8
        {
668
8
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
352
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
352
        {
668
352
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
22
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
22
        {
668
22
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
12
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
12
        {
668
12
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
348
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
348
        {
668
348
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
6
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
6
        {
668
6
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
290
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
290
        {
668
290
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
948
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
948
        {
668
948
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbwES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.80k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.80k
        {
668
2.80k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
3.39k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
3.39k
        {
668
3.39k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
4.42k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
4.42k
        {
668
4.42k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
520
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
520
        {
668
520
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
414
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
414
        {
668
414
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
11.2k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
11.2k
        {
668
11.2k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
26
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
26
        {
668
26
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
184
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
184
        {
668
184
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
24
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
24
        {
668
24
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
172
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
172
        {
668
172
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
422
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
422
        {
668
422
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
450
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
450
        {
668
450
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
2.61k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.61k
        {
668
2.61k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
70
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
70
        {
668
70
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
630
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
630
        {
668
630
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
2.20k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.20k
        {
668
2.20k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
494
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
494
        {
668
494
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
1.20k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.20k
        {
668
1.20k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
669
670
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
671
7.34k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
7.34k
        {
673
7.34k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
494
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
494
        {
673
494
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
456
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
456
        {
673
456
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
384
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
384
        {
673
384
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
2.34k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
2.34k
        {
673
2.34k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
210
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
210
        {
673
210
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
1.35k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
1.35k
        {
673
1.35k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
330
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
330
        {
673
330
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
186
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
186
        {
673
186
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
402
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
402
        {
673
402
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
174
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
174
        {
673
174
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
492
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
492
        {
673
492
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
518
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
518
        {
673
518
        }
674
675
        template <typename F,
676
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
677
        constexpr explicit storage(F* f) noexcept
678
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
679
        {
680
        }
681
682
        void* m_p{nullptr};
683
        const void* m_cp;
684
        void (*m_fp)();
685
    };
686
687
    template <typename T>
688
    static constexpr auto get(storage s)
689
807k
    {
690
807k
        if constexpr (std::is_const_v<T>) {
691
329k
            return static_cast<T*>(s.m_cp);
692
        }
693
478k
        else if constexpr (std::is_object_v<T>) {
694
478k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
807k
    }
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char), bool (char)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
7.18k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
7.18k
        else if constexpr (std::is_object_v<T>) {
694
7.18k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.18k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
330k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
330k
        else if constexpr (std::is_object_v<T>) {
694
330k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
330k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
48.8k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
48.8k
        else if constexpr (std::is_object_v<T>) {
694
48.8k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
48.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
1.01k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.01k
        else if constexpr (std::is_object_v<T>) {
694
1.01k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.01k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
912
    {
690
912
        if constexpr (std::is_const_v<T>) {
691
912
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
912
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.93k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.93k
        else if constexpr (std::is_object_v<T>) {
694
1.93k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.93k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
8
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8
        else if constexpr (std::is_object_v<T>) {
694
8
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
352
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
352
        else if constexpr (std::is_object_v<T>) {
694
352
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
352
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
22
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
22
        else if constexpr (std::is_object_v<T>) {
694
22
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
12
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
12
        else if constexpr (std::is_object_v<T>) {
694
12
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
12
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
348
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
348
        else if constexpr (std::is_object_v<T>) {
694
348
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
348
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
6
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6
        else if constexpr (std::is_object_v<T>) {
694
6
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
290
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
290
        else if constexpr (std::is_object_v<T>) {
694
290
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
290
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
10.7k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
10.7k
        else if constexpr (std::is_object_v<T>) {
694
10.7k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
10.7k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
11.1k
    {
690
11.1k
        if constexpr (std::is_const_v<T>) {
691
11.1k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
11.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
7.32k
    {
690
7.32k
        if constexpr (std::is_const_v<T>) {
691
7.32k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.32k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
290k
    {
690
290k
        if constexpr (std::is_const_v<T>) {
691
290k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
290k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
3.13k
    {
690
3.13k
        if constexpr (std::is_const_v<T>) {
691
3.13k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
6.44k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.44k
        else if constexpr (std::is_object_v<T>) {
694
6.44k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.44k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
8.73k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8.73k
        else if constexpr (std::is_object_v<T>) {
694
8.73k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8.73k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
5.81k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
5.81k
        else if constexpr (std::is_object_v<T>) {
694
5.81k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
5.81k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
544
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
544
        else if constexpr (std::is_object_v<T>) {
694
544
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
544
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.19k
    {
690
2.19k
        if constexpr (std::is_const_v<T>) {
691
2.19k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.19k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
742
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
742
        else if constexpr (std::is_object_v<T>) {
694
742
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
742
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
17.3k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
17.3k
        else if constexpr (std::is_object_v<T>) {
694
17.3k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
17.3k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
188
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
188
        else if constexpr (std::is_object_v<T>) {
694
188
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
188
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
172
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
172
        else if constexpr (std::is_object_v<T>) {
694
172
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
172
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
422
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
422
        else if constexpr (std::is_object_v<T>) {
694
422
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
422
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
6.02k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.02k
        else if constexpr (std::is_object_v<T>) {
694
6.02k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.02k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
3.78k
    {
690
3.78k
        if constexpr (std::is_const_v<T>) {
691
3.78k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.78k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
1.68k
    {
690
1.68k
        if constexpr (std::is_const_v<T>) {
691
1.68k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.68k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
22.1k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
22.1k
        else if constexpr (std::is_object_v<T>) {
694
22.1k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
22.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
5.02k
    {
690
5.02k
        if constexpr (std::is_const_v<T>) {
691
5.02k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
5.02k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
1.99k
    {
690
1.99k
        if constexpr (std::is_const_v<T>) {
691
1.99k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.99k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.80k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.80k
        else if constexpr (std::is_object_v<T>) {
694
1.80k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.80k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
630
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
630
        else if constexpr (std::is_object_v<T>) {
694
630
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
630
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
708
    {
690
708
        if constexpr (std::is_const_v<T>) {
691
708
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
708
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
3.41k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
3.41k
        else if constexpr (std::is_object_v<T>) {
694
3.41k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.41k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
494
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
494
        else if constexpr (std::is_object_v<T>) {
694
494
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
494
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
782
    {
690
782
        if constexpr (std::is_const_v<T>) {
691
782
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
782
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.49k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.49k
        else if constexpr (std::is_object_v<T>) {
694
1.49k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
700
};
701
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
702
SCN_CLANG_POP  // -Wcast-function-type-strict
703
#endif
704
705
}  // namespace fnref_detail
706
707
template <typename Sig,
708
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
709
class function_ref;
710
711
template <typename Sig, typename R, typename... Args>
712
class function_ref<Sig, R(Args...)> : fnref_detail::base {
713
    using signature = fnref_detail::qual_fn_sig<Sig>;
714
715
    template <typename T>
716
    using cv = typename signature::template cv<T>;
717
    template <typename T>
718
    using cvref = cv<T>&;
719
    static constexpr bool noex = signature::is_noexcept;
720
721
    template <typename... T>
722
    static constexpr bool is_invocable_using =
723
        signature::template is_invocable_using<T...>;
724
725
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
726
727
public:
728
    template <typename F,
729
              std::enable_if_t<std::is_function_v<F> &&
730
                               is_invocable_using<F>>* = nullptr>
731
    /*implicit*/ function_ref(F* f) noexcept
732
        : m_fptr([](storage fn,
733
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
734
              if constexpr (std::is_void_v<R>) {
735
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
736
              }
737
              else {
738
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
739
              }
740
          }),
741
          m_storage(f)
742
    {
743
        SCN_EXPECT(f != nullptr);
744
    }
745
746
    template <typename F,
747
              typename T = std::remove_reference_t<F>,
748
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
749
                               !std::is_member_pointer_v<T> &&
750
                               is_invocable_using<cvref<T>>>* = nullptr>
751
    /*implicit*/ constexpr function_ref(F&& f) noexcept
752
108k
        : m_fptr([](storage fn,
753
807k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
807k
              cvref<T> obj = *get<T>(fn);
755
807k
              if constexpr (std::is_void_v<R>) {
756
57.5k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
750k
              else {
759
750k
                  return obj(static_cast<decltype(args)>(args)...);
760
750k
              }
761
807k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEcE_clESK_c
Line
Count
Source
753
7.18k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.18k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.18k
              else {
759
7.18k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.18k
              }
761
7.18k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEDiE_clESK_Di
Line
Count
Source
753
330k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
330k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
330k
              else {
759
330k
                  return obj(static_cast<decltype(args)>(args)...);
760
330k
              }
761
330k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES19_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
48.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
48.8k
              cvref<T> obj = *get<T>(fn);
755
48.8k
              if constexpr (std::is_void_v<R>) {
756
48.8k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
48.8k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
753
1.01k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.01k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.01k
              else {
759
1.01k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.01k
              }
761
1.01k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
912
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
912
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
912
              else {
759
912
                  return obj(static_cast<decltype(args)>(args)...);
760
912
              }
761
912
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
1.93k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.93k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.93k
              else {
759
1.93k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.93k
              }
761
1.93k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES1D_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
352
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
352
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
352
              else {
759
352
                  return obj(static_cast<decltype(args)>(args)...);
760
352
              }
761
352
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
348
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
348
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
348
              else {
759
348
                  return obj(static_cast<decltype(args)>(args)...);
760
348
              }
761
348
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
290
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
290
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
290
              else {
759
290
                  return obj(static_cast<decltype(args)>(args)...);
760
290
              }
761
290
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
10.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
10.7k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
10.7k
              else {
759
10.7k
                  return obj(static_cast<decltype(args)>(args)...);
760
10.7k
              }
761
10.7k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
11.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
11.1k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
11.1k
              else {
759
11.1k
                  return obj(static_cast<decltype(args)>(args)...);
760
11.1k
              }
761
11.1k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
7.32k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.32k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.32k
              else {
759
7.32k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.32k
              }
761
7.32k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
290k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
290k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
290k
              else {
759
290k
                  return obj(static_cast<decltype(args)>(args)...);
760
290k
              }
761
290k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
3.13k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.13k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.13k
              else {
759
3.13k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.13k
              }
761
3.13k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbwES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEwE_clESK_w
Line
Count
Source
753
6.44k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.44k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.44k
              else {
759
6.44k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.44k
              }
761
6.44k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES19_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
8.73k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8.73k
              cvref<T> obj = *get<T>(fn);
755
8.73k
              if constexpr (std::is_void_v<R>) {
756
8.73k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
8.73k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
5.81k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
5.81k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
5.81k
              else {
759
5.81k
                  return obj(static_cast<decltype(args)>(args)...);
760
5.81k
              }
761
5.81k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
753
544
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
544
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
544
              else {
759
544
                  return obj(static_cast<decltype(args)>(args)...);
760
544
              }
761
544
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.19k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.19k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.19k
              else {
759
2.19k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.19k
              }
761
2.19k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
742
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
742
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
742
              else {
759
742
                  return obj(static_cast<decltype(args)>(args)...);
760
742
              }
761
742
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
17.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
17.3k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
17.3k
              else {
759
17.3k
                  return obj(static_cast<decltype(args)>(args)...);
760
17.3k
              }
761
17.3k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES1D_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
188
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
188
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
188
              else {
759
188
                  return obj(static_cast<decltype(args)>(args)...);
760
188
              }
761
188
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
172
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
172
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
172
              else {
759
172
                  return obj(static_cast<decltype(args)>(args)...);
760
172
              }
761
172
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
422
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
422
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
422
              else {
759
422
                  return obj(static_cast<decltype(args)>(args)...);
760
422
              }
761
422
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
6.02k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.02k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.02k
              else {
759
6.02k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.02k
              }
761
6.02k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
3.78k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.78k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.78k
              else {
759
3.78k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.78k
              }
761
3.78k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
1.68k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.68k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.68k
              else {
759
1.68k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.68k
              }
761
1.68k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
22.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22.1k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
22.1k
              else {
759
22.1k
                  return obj(static_cast<decltype(args)>(args)...);
760
22.1k
              }
761
22.1k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
5.02k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
5.02k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
5.02k
              else {
759
5.02k
                  return obj(static_cast<decltype(args)>(args)...);
760
5.02k
              }
761
5.02k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
1.99k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.99k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.99k
              else {
759
1.99k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.99k
              }
761
1.99k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
1.80k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.80k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.80k
              else {
759
1.80k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.80k
              }
761
1.80k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
630
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
630
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
630
              else {
759
630
                  return obj(static_cast<decltype(args)>(args)...);
760
630
              }
761
630
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
708
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
708
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
708
              else {
759
708
                  return obj(static_cast<decltype(args)>(args)...);
760
708
              }
761
708
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
3.41k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.41k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.41k
              else {
759
3.41k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.41k
              }
761
3.41k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
494
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
494
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
494
              else {
759
494
                  return obj(static_cast<decltype(args)>(args)...);
760
494
              }
761
494
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
782
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
782
              else {
759
782
                  return obj(static_cast<decltype(args)>(args)...);
760
782
              }
761
782
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
1.49k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.49k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.49k
              else {
759
1.49k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.49k
              }
761
1.49k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
762
108k
          m_storage(std::addressof(f))
763
108k
    {
764
108k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.71k
        : m_fptr([](storage fn,
753
2.71k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.71k
              cvref<T> obj = *get<T>(fn);
755
2.71k
              if constexpr (std::is_void_v<R>) {
756
2.71k
                  obj(static_cast<decltype(args)>(args)...);
757
2.71k
              }
758
2.71k
              else {
759
2.71k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.71k
              }
761
2.71k
          }),
762
2.71k
          m_storage(std::addressof(f))
763
2.71k
    {
764
2.71k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
22.7k
        : m_fptr([](storage fn,
753
22.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22.7k
              cvref<T> obj = *get<T>(fn);
755
22.7k
              if constexpr (std::is_void_v<R>) {
756
22.7k
                  obj(static_cast<decltype(args)>(args)...);
757
22.7k
              }
758
22.7k
              else {
759
22.7k
                  return obj(static_cast<decltype(args)>(args)...);
760
22.7k
              }
761
22.7k
          }),
762
22.7k
          m_storage(std::addressof(f))
763
22.7k
    {
764
22.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
41.0k
        : m_fptr([](storage fn,
753
41.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
41.0k
              cvref<T> obj = *get<T>(fn);
755
41.0k
              if constexpr (std::is_void_v<R>) {
756
41.0k
                  obj(static_cast<decltype(args)>(args)...);
757
41.0k
              }
758
41.0k
              else {
759
41.0k
                  return obj(static_cast<decltype(args)>(args)...);
760
41.0k
              }
761
41.0k
          }),
762
41.0k
          m_storage(std::addressof(f))
763
41.0k
    {
764
41.0k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
1.01k
        : m_fptr([](storage fn,
753
1.01k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.01k
              cvref<T> obj = *get<T>(fn);
755
1.01k
              if constexpr (std::is_void_v<R>) {
756
1.01k
                  obj(static_cast<decltype(args)>(args)...);
757
1.01k
              }
758
1.01k
              else {
759
1.01k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.01k
              }
761
1.01k
          }),
762
1.01k
          m_storage(std::addressof(f))
763
1.01k
    {
764
1.01k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
494
        : m_fptr([](storage fn,
753
494
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
494
              cvref<T> obj = *get<T>(fn);
755
494
              if constexpr (std::is_void_v<R>) {
756
494
                  obj(static_cast<decltype(args)>(args)...);
757
494
              }
758
494
              else {
759
494
                  return obj(static_cast<decltype(args)>(args)...);
760
494
              }
761
494
          }),
762
494
          m_storage(std::addressof(f))
763
494
    {
764
494
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
566
        : m_fptr([](storage fn,
753
566
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
566
              cvref<T> obj = *get<T>(fn);
755
566
              if constexpr (std::is_void_v<R>) {
756
566
                  obj(static_cast<decltype(args)>(args)...);
757
566
              }
758
566
              else {
759
566
                  return obj(static_cast<decltype(args)>(args)...);
760
566
              }
761
566
          }),
762
566
          m_storage(std::addressof(f))
763
566
    {
764
566
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
8
        : m_fptr([](storage fn,
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
8
              if constexpr (std::is_void_v<R>) {
756
8
                  obj(static_cast<decltype(args)>(args)...);
757
8
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
762
8
          m_storage(std::addressof(f))
763
8
    {
764
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
352
        : m_fptr([](storage fn,
753
352
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
352
              cvref<T> obj = *get<T>(fn);
755
352
              if constexpr (std::is_void_v<R>) {
756
352
                  obj(static_cast<decltype(args)>(args)...);
757
352
              }
758
352
              else {
759
352
                  return obj(static_cast<decltype(args)>(args)...);
760
352
              }
761
352
          }),
762
352
          m_storage(std::addressof(f))
763
352
    {
764
352
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
22
        : m_fptr([](storage fn,
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
22
              if constexpr (std::is_void_v<R>) {
756
22
                  obj(static_cast<decltype(args)>(args)...);
757
22
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
762
22
          m_storage(std::addressof(f))
763
22
    {
764
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
12
        : m_fptr([](storage fn,
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
12
              if constexpr (std::is_void_v<R>) {
756
12
                  obj(static_cast<decltype(args)>(args)...);
757
12
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
762
12
          m_storage(std::addressof(f))
763
12
    {
764
12
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
348
        : m_fptr([](storage fn,
753
348
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
348
              cvref<T> obj = *get<T>(fn);
755
348
              if constexpr (std::is_void_v<R>) {
756
348
                  obj(static_cast<decltype(args)>(args)...);
757
348
              }
758
348
              else {
759
348
                  return obj(static_cast<decltype(args)>(args)...);
760
348
              }
761
348
          }),
762
348
          m_storage(std::addressof(f))
763
348
    {
764
348
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
6
        : m_fptr([](storage fn,
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
6
              if constexpr (std::is_void_v<R>) {
756
6
                  obj(static_cast<decltype(args)>(args)...);
757
6
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
762
6
          m_storage(std::addressof(f))
763
6
    {
764
6
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
290
        : m_fptr([](storage fn,
753
290
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
290
              cvref<T> obj = *get<T>(fn);
755
290
              if constexpr (std::is_void_v<R>) {
756
290
                  obj(static_cast<decltype(args)>(args)...);
757
290
              }
758
290
              else {
759
290
                  return obj(static_cast<decltype(args)>(args)...);
760
290
              }
761
290
          }),
762
290
          m_storage(std::addressof(f))
763
290
    {
764
290
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
948
        : m_fptr([](storage fn,
753
948
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
948
              cvref<T> obj = *get<T>(fn);
755
948
              if constexpr (std::is_void_v<R>) {
756
948
                  obj(static_cast<decltype(args)>(args)...);
757
948
              }
758
948
              else {
759
948
                  return obj(static_cast<decltype(args)>(args)...);
760
948
              }
761
948
          }),
762
948
          m_storage(std::addressof(f))
763
948
    {
764
948
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
456
        : m_fptr([](storage fn,
753
456
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
456
              cvref<T> obj = *get<T>(fn);
755
456
              if constexpr (std::is_void_v<R>) {
756
456
                  obj(static_cast<decltype(args)>(args)...);
757
456
              }
758
456
              else {
759
456
                  return obj(static_cast<decltype(args)>(args)...);
760
456
              }
761
456
          }),
762
456
          m_storage(std::addressof(f))
763
456
    {
764
456
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
384
        : m_fptr([](storage fn,
753
384
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
384
              cvref<T> obj = *get<T>(fn);
755
384
              if constexpr (std::is_void_v<R>) {
756
384
                  obj(static_cast<decltype(args)>(args)...);
757
384
              }
758
384
              else {
759
384
                  return obj(static_cast<decltype(args)>(args)...);
760
384
              }
761
384
          }),
762
384
          m_storage(std::addressof(f))
763
384
    {
764
384
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.34k
        : m_fptr([](storage fn,
753
2.34k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.34k
              cvref<T> obj = *get<T>(fn);
755
2.34k
              if constexpr (std::is_void_v<R>) {
756
2.34k
                  obj(static_cast<decltype(args)>(args)...);
757
2.34k
              }
758
2.34k
              else {
759
2.34k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.34k
              }
761
2.34k
          }),
762
2.34k
          m_storage(std::addressof(f))
763
2.34k
    {
764
2.34k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
210
        : m_fptr([](storage fn,
753
210
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
210
              cvref<T> obj = *get<T>(fn);
755
210
              if constexpr (std::is_void_v<R>) {
756
210
                  obj(static_cast<decltype(args)>(args)...);
757
210
              }
758
210
              else {
759
210
                  return obj(static_cast<decltype(args)>(args)...);
760
210
              }
761
210
          }),
762
210
          m_storage(std::addressof(f))
763
210
    {
764
210
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.80k
        : m_fptr([](storage fn,
753
2.80k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.80k
              cvref<T> obj = *get<T>(fn);
755
2.80k
              if constexpr (std::is_void_v<R>) {
756
2.80k
                  obj(static_cast<decltype(args)>(args)...);
757
2.80k
              }
758
2.80k
              else {
759
2.80k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.80k
              }
761
2.80k
          }),
762
2.80k
          m_storage(std::addressof(f))
763
2.80k
    {
764
2.80k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
3.39k
        : m_fptr([](storage fn,
753
3.39k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.39k
              cvref<T> obj = *get<T>(fn);
755
3.39k
              if constexpr (std::is_void_v<R>) {
756
3.39k
                  obj(static_cast<decltype(args)>(args)...);
757
3.39k
              }
758
3.39k
              else {
759
3.39k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.39k
              }
761
3.39k
          }),
762
3.39k
          m_storage(std::addressof(f))
763
3.39k
    {
764
3.39k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
4.42k
        : m_fptr([](storage fn,
753
4.42k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.42k
              cvref<T> obj = *get<T>(fn);
755
4.42k
              if constexpr (std::is_void_v<R>) {
756
4.42k
                  obj(static_cast<decltype(args)>(args)...);
757
4.42k
              }
758
4.42k
              else {
759
4.42k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.42k
              }
761
4.42k
          }),
762
4.42k
          m_storage(std::addressof(f))
763
4.42k
    {
764
4.42k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
520
        : m_fptr([](storage fn,
753
520
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
520
              cvref<T> obj = *get<T>(fn);
755
520
              if constexpr (std::is_void_v<R>) {
756
520
                  obj(static_cast<decltype(args)>(args)...);
757
520
              }
758
520
              else {
759
520
                  return obj(static_cast<decltype(args)>(args)...);
760
520
              }
761
520
          }),
762
520
          m_storage(std::addressof(f))
763
520
    {
764
520
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
1.35k
        : m_fptr([](storage fn,
753
1.35k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.35k
              cvref<T> obj = *get<T>(fn);
755
1.35k
              if constexpr (std::is_void_v<R>) {
756
1.35k
                  obj(static_cast<decltype(args)>(args)...);
757
1.35k
              }
758
1.35k
              else {
759
1.35k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.35k
              }
761
1.35k
          }),
762
1.35k
          m_storage(std::addressof(f))
763
1.35k
    {
764
1.35k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
414
        : m_fptr([](storage fn,
753
414
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
414
              cvref<T> obj = *get<T>(fn);
755
414
              if constexpr (std::is_void_v<R>) {
756
414
                  obj(static_cast<decltype(args)>(args)...);
757
414
              }
758
414
              else {
759
414
                  return obj(static_cast<decltype(args)>(args)...);
760
414
              }
761
414
          }),
762
414
          m_storage(std::addressof(f))
763
414
    {
764
414
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
11.2k
        : m_fptr([](storage fn,
753
11.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
11.2k
              cvref<T> obj = *get<T>(fn);
755
11.2k
              if constexpr (std::is_void_v<R>) {
756
11.2k
                  obj(static_cast<decltype(args)>(args)...);
757
11.2k
              }
758
11.2k
              else {
759
11.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
11.2k
              }
761
11.2k
          }),
762
11.2k
          m_storage(std::addressof(f))
763
11.2k
    {
764
11.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
26
        : m_fptr([](storage fn,
753
26
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
26
              cvref<T> obj = *get<T>(fn);
755
26
              if constexpr (std::is_void_v<R>) {
756
26
                  obj(static_cast<decltype(args)>(args)...);
757
26
              }
758
26
              else {
759
26
                  return obj(static_cast<decltype(args)>(args)...);
760
26
              }
761
26
          }),
762
26
          m_storage(std::addressof(f))
763
26
    {
764
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
184
        : m_fptr([](storage fn,
753
184
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
184
              cvref<T> obj = *get<T>(fn);
755
184
              if constexpr (std::is_void_v<R>) {
756
184
                  obj(static_cast<decltype(args)>(args)...);
757
184
              }
758
184
              else {
759
184
                  return obj(static_cast<decltype(args)>(args)...);
760
184
              }
761
184
          }),
762
184
          m_storage(std::addressof(f))
763
184
    {
764
184
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
24
        : m_fptr([](storage fn,
753
24
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
24
              cvref<T> obj = *get<T>(fn);
755
24
              if constexpr (std::is_void_v<R>) {
756
24
                  obj(static_cast<decltype(args)>(args)...);
757
24
              }
758
24
              else {
759
24
                  return obj(static_cast<decltype(args)>(args)...);
760
24
              }
761
24
          }),
762
24
          m_storage(std::addressof(f))
763
24
    {
764
24
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
172
        : m_fptr([](storage fn,
753
172
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
172
              cvref<T> obj = *get<T>(fn);
755
172
              if constexpr (std::is_void_v<R>) {
756
172
                  obj(static_cast<decltype(args)>(args)...);
757
172
              }
758
172
              else {
759
172
                  return obj(static_cast<decltype(args)>(args)...);
760
172
              }
761
172
          }),
762
172
          m_storage(std::addressof(f))
763
172
    {
764
172
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
422
        : m_fptr([](storage fn,
753
422
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
422
              cvref<T> obj = *get<T>(fn);
755
422
              if constexpr (std::is_void_v<R>) {
756
422
                  obj(static_cast<decltype(args)>(args)...);
757
422
              }
758
422
              else {
759
422
                  return obj(static_cast<decltype(args)>(args)...);
760
422
              }
761
422
          }),
762
422
          m_storage(std::addressof(f))
763
422
    {
764
422
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
450
        : m_fptr([](storage fn,
753
450
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
450
              cvref<T> obj = *get<T>(fn);
755
450
              if constexpr (std::is_void_v<R>) {
756
450
                  obj(static_cast<decltype(args)>(args)...);
757
450
              }
758
450
              else {
759
450
                  return obj(static_cast<decltype(args)>(args)...);
760
450
              }
761
450
          }),
762
450
          m_storage(std::addressof(f))
763
450
    {
764
450
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
330
        : m_fptr([](storage fn,
753
330
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
330
              cvref<T> obj = *get<T>(fn);
755
330
              if constexpr (std::is_void_v<R>) {
756
330
                  obj(static_cast<decltype(args)>(args)...);
757
330
              }
758
330
              else {
759
330
                  return obj(static_cast<decltype(args)>(args)...);
760
330
              }
761
330
          }),
762
330
          m_storage(std::addressof(f))
763
330
    {
764
330
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
186
        : m_fptr([](storage fn,
753
186
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
186
              cvref<T> obj = *get<T>(fn);
755
186
              if constexpr (std::is_void_v<R>) {
756
186
                  obj(static_cast<decltype(args)>(args)...);
757
186
              }
758
186
              else {
759
186
                  return obj(static_cast<decltype(args)>(args)...);
760
186
              }
761
186
          }),
762
186
          m_storage(std::addressof(f))
763
186
    {
764
186
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
2.61k
        : m_fptr([](storage fn,
753
2.61k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.61k
              cvref<T> obj = *get<T>(fn);
755
2.61k
              if constexpr (std::is_void_v<R>) {
756
2.61k
                  obj(static_cast<decltype(args)>(args)...);
757
2.61k
              }
758
2.61k
              else {
759
2.61k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.61k
              }
761
2.61k
          }),
762
2.61k
          m_storage(std::addressof(f))
763
2.61k
    {
764
2.61k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
402
        : m_fptr([](storage fn,
753
402
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
402
              cvref<T> obj = *get<T>(fn);
755
402
              if constexpr (std::is_void_v<R>) {
756
402
                  obj(static_cast<decltype(args)>(args)...);
757
402
              }
758
402
              else {
759
402
                  return obj(static_cast<decltype(args)>(args)...);
760
402
              }
761
402
          }),
762
402
          m_storage(std::addressof(f))
763
402
    {
764
402
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
174
        : m_fptr([](storage fn,
753
174
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
174
              cvref<T> obj = *get<T>(fn);
755
174
              if constexpr (std::is_void_v<R>) {
756
174
                  obj(static_cast<decltype(args)>(args)...);
757
174
              }
758
174
              else {
759
174
                  return obj(static_cast<decltype(args)>(args)...);
760
174
              }
761
174
          }),
762
174
          m_storage(std::addressof(f))
763
174
    {
764
174
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
70
        : m_fptr([](storage fn,
753
70
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
70
              cvref<T> obj = *get<T>(fn);
755
70
              if constexpr (std::is_void_v<R>) {
756
70
                  obj(static_cast<decltype(args)>(args)...);
757
70
              }
758
70
              else {
759
70
                  return obj(static_cast<decltype(args)>(args)...);
760
70
              }
761
70
          }),
762
70
          m_storage(std::addressof(f))
763
70
    {
764
70
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
630
        : m_fptr([](storage fn,
753
630
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
630
              cvref<T> obj = *get<T>(fn);
755
630
              if constexpr (std::is_void_v<R>) {
756
630
                  obj(static_cast<decltype(args)>(args)...);
757
630
              }
758
630
              else {
759
630
                  return obj(static_cast<decltype(args)>(args)...);
760
630
              }
761
630
          }),
762
630
          m_storage(std::addressof(f))
763
630
    {
764
630
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
492
        : m_fptr([](storage fn,
753
492
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
492
              cvref<T> obj = *get<T>(fn);
755
492
              if constexpr (std::is_void_v<R>) {
756
492
                  obj(static_cast<decltype(args)>(args)...);
757
492
              }
758
492
              else {
759
492
                  return obj(static_cast<decltype(args)>(args)...);
760
492
              }
761
492
          }),
762
492
          m_storage(std::addressof(f))
763
492
    {
764
492
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.20k
        : m_fptr([](storage fn,
753
2.20k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.20k
              cvref<T> obj = *get<T>(fn);
755
2.20k
              if constexpr (std::is_void_v<R>) {
756
2.20k
                  obj(static_cast<decltype(args)>(args)...);
757
2.20k
              }
758
2.20k
              else {
759
2.20k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.20k
              }
761
2.20k
          }),
762
2.20k
          m_storage(std::addressof(f))
763
2.20k
    {
764
2.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
494
        : m_fptr([](storage fn,
753
494
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
494
              cvref<T> obj = *get<T>(fn);
755
494
              if constexpr (std::is_void_v<R>) {
756
494
                  obj(static_cast<decltype(args)>(args)...);
757
494
              }
758
494
              else {
759
494
                  return obj(static_cast<decltype(args)>(args)...);
760
494
              }
761
494
          }),
762
494
          m_storage(std::addressof(f))
763
494
    {
764
494
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
518
        : m_fptr([](storage fn,
753
518
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
518
              cvref<T> obj = *get<T>(fn);
755
518
              if constexpr (std::is_void_v<R>) {
756
518
                  obj(static_cast<decltype(args)>(args)...);
757
518
              }
758
518
              else {
759
518
                  return obj(static_cast<decltype(args)>(args)...);
760
518
              }
761
518
          }),
762
518
          m_storage(std::addressof(f))
763
518
    {
764
518
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
1.20k
        : m_fptr([](storage fn,
753
1.20k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.20k
              cvref<T> obj = *get<T>(fn);
755
1.20k
              if constexpr (std::is_void_v<R>) {
756
1.20k
                  obj(static_cast<decltype(args)>(args)...);
757
1.20k
              }
758
1.20k
              else {
759
1.20k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.20k
              }
761
1.20k
          }),
762
1.20k
          m_storage(std::addressof(f))
763
1.20k
    {
764
1.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
765
766
    template <typename T,
767
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
768
                               !std::is_pointer_v<T>>* = nullptr>
769
    function_ref& operator=(T) = delete;
770
771
    constexpr R operator()(Args... args) const noexcept(noex)
772
807k
    {
773
807k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
807k
    }
scn::v4::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
772
20.6k
    {
773
20.6k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
20.6k
    }
scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
713k
    {
773
713k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
713k
    }
scn::v4::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
57.5k
    {
773
57.5k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
57.5k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
360
    {
773
360
        return m_fptr(m_storage, SCN_FWD(args)...);
774
360
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
926
    {
773
926
        return m_fptr(m_storage, SCN_FWD(args)...);
774
926
    }
scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
772
13.8k
    {
773
13.8k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
13.8k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
188
    {
773
188
        return m_fptr(m_storage, SCN_FWD(args)...);
774
188
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
932
    {
773
932
        return m_fptr(m_storage, SCN_FWD(args)...);
774
932
    }
775
776
private:
777
    fwd_t* m_fptr{nullptr};
778
    storage m_storage;
779
};
780
781
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
782
function_ref(F*) -> function_ref<F>;
783
}  // namespace impl
784
785
/////////////////////////////////////////////////////////////////
786
// Internal error types
787
/////////////////////////////////////////////////////////////////
788
789
namespace impl {
790
enum class eof_error { good, eof };
791
792
inline constexpr bool operator!(eof_error e)
793
48.9k
{
794
48.9k
    return e != eof_error::good;
795
48.9k
}
796
797
template <typename T>
798
struct eof_expected : public expected<T, eof_error> {
799
    using base = expected<T, eof_error>;
800
    using base::base;
801
802
    constexpr eof_expected(const base& other) : base(other) {}
803
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
804
};
805
806
inline constexpr auto make_eof_scan_error(eof_error err)
807
354
{
808
354
    SCN_EXPECT(err == eof_error::eof);
809
354
    return scan_error{scan_error::end_of_input, "EOF"};
810
354
}
811
812
struct SCN_TRIVIAL_ABI parse_error {
813
    enum code { good, eof, error };
814
    using code_t = code;
815
816
    constexpr parse_error() = default;
817
54.6k
    constexpr parse_error(code c) : m_code(c)
818
54.6k
    {
819
54.6k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
820
54.6k
    }
821
822
    constexpr explicit operator bool() const
823
0
    {
824
0
        return m_code == good;
825
0
    }
826
    constexpr explicit operator code_t() const
827
0
    {
828
0
        return m_code;
829
0
    }
830
831
    friend constexpr bool operator==(parse_error a, parse_error b)
832
22.9k
    {
833
22.9k
        return a.m_code == b.m_code;
834
22.9k
    }
835
    friend constexpr bool operator!=(parse_error a, parse_error b)
836
4.47k
    {
837
4.47k
        return !(a == b);
838
4.47k
    }
839
840
private:
841
    code m_code{good};
842
};
843
844
template <typename T>
845
struct parse_expected : public expected<T, parse_error> {
846
    using base = expected<T, parse_error>;
847
    using base::base;
848
849
    constexpr parse_expected(const base& other) : base(other) {}
850
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
851
};
852
853
inline constexpr parse_error make_eof_parse_error(eof_error err)
854
1.09k
{
855
1.09k
    SCN_EXPECT(err == eof_error::eof);
856
1.09k
    return parse_error::eof;
857
1.09k
}
858
859
inline constexpr scan_expected<void> make_scan_error_from_parse_error(
860
    parse_error err,
861
    enum scan_error::code code,
862
    const char* msg)
863
4.47k
{
864
4.47k
    if (err == parse_error::good) {
865
0
        return {};
866
0
    }
867
868
4.47k
    if (err == parse_error::eof) {
869
144
        return detail::unexpected_scan_error(scan_error::end_of_input, "EOF");
870
144
    }
871
872
4.32k
    return detail::unexpected_scan_error(code, msg);
873
4.47k
}
874
875
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
876
                                                    const char* msg)
877
4.50k
{
878
4.50k
    return [code, msg](parse_error err) {
879
4.47k
        assert(err != parse_error::good);
880
4.47k
        return make_scan_error_from_parse_error(err, code, msg).error();
881
4.47k
    };
882
4.50k
}
883
}  // namespace impl
884
885
namespace detail {
886
template <typename T>
887
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
888
}  // namespace detail
889
890
/////////////////////////////////////////////////////////////////
891
// Range reading support
892
/////////////////////////////////////////////////////////////////
893
894
namespace impl {
895
#if SCN_MSVC_DEBUG_ITERATORS
896
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
897
#else
898
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
899
#endif
900
901
template <typename T>
902
constexpr bool range_supports_nocopy() noexcept
903
{
904
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
905
    return ranges::contiguous_range<T> ||
906
           (ranges::random_access_range<T> &&
907
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
908
#else
909
    return ranges::contiguous_range<T>;
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_data(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return detail::to_address(ranges::begin(r));
919
#else
920
    return ranges::data(r);
921
#endif
922
}
923
924
template <typename R>
925
constexpr auto range_nocopy_size(const R& r) noexcept
926
{
927
    static_assert(range_supports_nocopy<R>());
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
930
                                                detail::to_address(r.end())));
931
#else
932
    return r.size();
933
#endif
934
}
935
936
template <typename I, typename S>
937
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
938
206M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
206M
    {
948
206M
        return begin == end;
949
206M
    }
950
206M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
938
29.5k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
29.5k
    {
948
29.5k
        return begin == end;
949
29.5k
    }
950
29.5k
}
bool scn::v4::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
938
353k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
353k
    {
948
353k
        return begin == end;
949
353k
    }
950
353k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
938
205M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
205M
    {
948
205M
        return begin == end;
949
205M
    }
950
205M
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
938
11.9k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
11.9k
    {
948
11.9k
        return begin == end;
949
11.9k
    }
950
11.9k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
938
5.61k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
5.61k
    {
948
5.61k
        return begin == end;
949
5.61k
    }
950
5.61k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
938
2.69k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
2.69k
    {
948
2.69k
        return begin == end;
949
2.69k
    }
950
2.69k
}
951
952
template <typename Range>
953
SCN_NODISCARD constexpr bool is_range_eof(Range r)
954
435k
{
955
435k
    return is_range_eof(r.begin(), r.end());
956
435k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
954
2.43k
{
955
2.43k
    return is_range_eof(r.begin(), r.end());
956
2.43k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
954
27.0k
{
955
27.0k
    return is_range_eof(r.begin(), r.end());
956
27.0k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
954
313k
{
955
313k
    return is_range_eof(r.begin(), r.end());
956
313k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
954
72.1k
{
955
72.1k
    return is_range_eof(r.begin(), r.end());
956
72.1k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
954
1.30k
{
955
1.30k
    return is_range_eof(r.begin(), r.end());
956
1.30k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
954
10.6k
{
955
10.6k
    return is_range_eof(r.begin(), r.end());
956
10.6k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
954
5.61k
{
955
5.61k
    return is_range_eof(r.begin(), r.end());
956
5.61k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
954
2.69k
{
955
2.69k
    return is_range_eof(r.begin(), r.end());
956
2.69k
}
957
958
template <typename Range>
959
SCN_NODISCARD constexpr eof_error eof_check(Range range)
960
48.9k
{
961
48.9k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
368
        return eof_error::eof;
963
368
    }
964
48.6k
    return eof_error::good;
965
48.9k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
960
2.43k
{
961
2.43k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
2.43k
    return eof_error::good;
965
2.43k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
960
40
{
961
40
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
40
    return eof_error::good;
965
40
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
960
21.6k
{
961
21.6k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
21.6k
    return eof_error::good;
965
21.6k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
960
20.0k
{
961
20.0k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
20.0k
    return eof_error::good;
965
20.0k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
960
1.30k
{
961
1.30k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
1.30k
    return eof_error::good;
965
1.30k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
960
110
{
961
110
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
14
        return eof_error::eof;
963
14
    }
964
96
    return eof_error::good;
965
110
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
960
2.20k
{
961
2.20k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
238
        return eof_error::eof;
963
238
    }
964
1.96k
    return eof_error::good;
965
2.20k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
960
1.20k
{
961
1.20k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
116
        return eof_error::eof;
963
116
    }
964
1.08k
    return eof_error::good;
965
1.20k
}
966
967
template <typename Range>
968
bool is_entire_source_contiguous(Range r)
969
510
{
970
510
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
318
                  ranges::sized_range<Range>) {
973
318
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
0
                               detail::char_t<Range>>::forward_iterator>) {
979
0
        auto beg = r.begin();
980
0
        if (!beg.stores_parent()) {
981
0
            return true;
982
0
        }
983
0
        return beg.parent()->is_contiguous();
984
    }
985
192
    else {
986
192
        return false;
987
192
    }
988
510
}
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
969
192
{
970
192
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
                  ranges::sized_range<Range>) {
973
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
192
    else {
986
192
        return false;
987
192
    }
988
192
}
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
969
318
{
970
318
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
318
                  ranges::sized_range<Range>) {
973
318
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
    else {
986
        return false;
987
    }
988
318
}
989
990
template <typename Range>
991
bool is_segment_contiguous(Range r)
992
318
{
993
318
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
318
                  ranges::sized_range<Range>) {
997
318
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
0
                               detail::char_t<Range>>::forward_iterator>) {
1003
0
        auto beg = r.begin();
1004
0
        if (beg.contiguous_segment().empty()) {
1005
0
            return false;
1006
0
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
0
        else {
1012
0
            if (beg.stores_parent()) {
1013
0
                return beg.contiguous_segment().end() ==
1014
0
                       beg.parent()->current_view().end();
1015
0
            }
1016
0
            return true;
1017
0
        }
1018
    }
1019
0
    else {
1020
0
        return false;
1021
0
    }
1022
318
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
992
318
{
993
318
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
318
                  ranges::sized_range<Range>) {
997
318
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
                               detail::char_t<Range>>::forward_iterator>) {
1003
        auto beg = r.begin();
1004
        if (beg.contiguous_segment().empty()) {
1005
            return false;
1006
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
        else {
1012
            if (beg.stores_parent()) {
1013
                return beg.contiguous_segment().end() ==
1014
                       beg.parent()->current_view().end();
1015
            }
1016
            return true;
1017
        }
1018
    }
1019
    else {
1020
        return false;
1021
    }
1022
318
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1023
1024
template <typename Range>
1025
std::size_t contiguous_beginning_size(Range r)
1026
{
1027
    SCN_UNUSED(r);
1028
1029
    if constexpr (ranges::contiguous_range<Range> &&
1030
                  ranges::sized_range<Range>) {
1031
        return r.size();
1032
    }
1033
    else if constexpr (std::is_same_v<
1034
                           ranges::const_iterator_t<Range>,
1035
                           typename detail::basic_scan_buffer<
1036
                               detail::char_t<Range>>::forward_iterator>) {
1037
        if constexpr (ranges::common_range<Range>) {
1038
            auto seg = r.begin().contiguous_segment();
1039
            auto dist =
1040
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1041
            return std::min(seg.size(), dist);
1042
        }
1043
        else {
1044
            return r.begin().contiguous_segment().size();
1045
        }
1046
    }
1047
    else {
1048
        return false;
1049
    }
1050
}
1051
1052
template <typename Range>
1053
auto get_contiguous_beginning(Range r)
1054
3.71k
{
1055
3.71k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
0
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
0
        else {
1072
0
            return r.begin().contiguous_segment();
1073
0
        }
1074
    }
1075
3.71k
    else {
1076
3.71k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
3.71k
    }
1078
3.71k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1054
1.51k
{
1055
1.51k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
1.51k
    else {
1076
1.51k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
1.51k
    }
1078
1.51k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1054
2.20k
{
1055
2.20k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
2.20k
    else {
1076
2.20k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
2.20k
    }
1078
2.20k
}
1079
1080
template <typename Range>
1081
auto get_as_contiguous(Range r)
1082
318
{
1083
318
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
318
                  ranges::sized_range<Range>) {
1087
318
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
0
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
0
        else {
1099
0
            return r.begin().contiguous_segment();
1100
0
        }
1101
    }
1102
0
    else {
1103
0
        SCN_EXPECT(false);
1104
0
        SCN_UNREACHABLE;
1105
0
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
0
        return std::basic_string_view<detail::char_t<Range>>{};
1108
0
    }
1109
318
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1082
318
{
1083
318
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
318
                  ranges::sized_range<Range>) {
1087
318
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
        else {
1099
            return r.begin().contiguous_segment();
1100
        }
1101
    }
1102
    else {
1103
        SCN_EXPECT(false);
1104
        SCN_UNREACHABLE;
1105
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
        return std::basic_string_view<detail::char_t<Range>>{};
1108
    }
1109
318
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1110
1111
template <typename Range>
1112
std::size_t guaranteed_minimum_size(Range r)
1113
10.5k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
0
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
0
        else {
1125
0
            if (r.begin().stores_parent()) {
1126
0
                return static_cast<size_t>(
1127
0
                    r.begin().parent()->chars_available() -
1128
0
                    r.begin().position());
1129
0
            }
1130
0
            return r.begin().contiguous_segment().size();
1131
0
        }
1132
    }
1133
10.5k
    else {
1134
10.5k
        SCN_UNUSED(r);
1135
10.5k
        return 0;
1136
10.5k
    }
1137
10.5k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1113
7.10k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
7.10k
    else {
1134
7.10k
        SCN_UNUSED(r);
1135
7.10k
        return 0;
1136
7.10k
    }
1137
7.10k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1113
878
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
878
    else {
1134
878
        SCN_UNUSED(r);
1135
878
        return 0;
1136
878
    }
1137
878
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1113
1.31k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
1.31k
    else {
1134
1.31k
        SCN_UNUSED(r);
1135
1.31k
        return 0;
1136
1.31k
    }
1137
1.31k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1113
864
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
864
    else {
1134
864
        SCN_UNUSED(r);
1135
864
        return 0;
1136
864
    }
1137
864
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1113
376
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
376
    else {
1134
376
        SCN_UNUSED(r);
1135
376
        return 0;
1136
376
    }
1137
376
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
1138
1139
template <typename I, typename T>
1140
struct iterator_value_result {
1141
    SCN_NO_UNIQUE_ADDRESS I iterator;
1142
    SCN_NO_UNIQUE_ADDRESS T value;
1143
};
1144
1145
}  // namespace impl
1146
1147
/////////////////////////////////////////////////////////////////
1148
// File support
1149
/////////////////////////////////////////////////////////////////
1150
1151
namespace detail {
1152
1153
template <typename FileInterface>
1154
basic_scan_file_buffer<FileInterface>::basic_scan_file_buffer(
1155
    FileInterface file)
1156
0
    : base(base::non_contiguous_tag{}), m_file(SCN_MOVE(file))
1157
0
{
1158
0
    m_file.lock();
1159
0
}
1160
1161
template <typename FileInterface>
1162
basic_scan_file_buffer<FileInterface>::~basic_scan_file_buffer()
1163
0
{
1164
0
    m_file.unlock();
1165
0
}
1166
1167
template <typename FileInterface>
1168
bool basic_scan_file_buffer<FileInterface>::fill()
1169
0
{
1170
0
    if (!this->m_current_view.empty()) {
1171
0
        this->m_putback_buffer.insert(this->m_putback_buffer.end(),
1172
0
                                      this->m_current_view.begin(),
1173
0
                                      this->m_current_view.end());
1174
0
    }
1175
1176
0
    if (m_file.has_buffering()) {
1177
0
        if (!this->m_current_view.empty()) {
1178
0
            m_file.unsafe_advance_n(
1179
0
                static_cast<std::ptrdiff_t>(this->m_current_view.size()));
1180
0
        }
1181
1182
0
        if (m_file.buffer().empty()) {
1183
0
            m_file.fill_buffer();
1184
0
        }
1185
0
        m_current_view = m_file.buffer();
1186
0
        return !this->m_current_view.empty();
1187
0
    }
1188
1189
0
    this->m_latest = m_file.read_one();
1190
0
    if (!this->m_latest) {
1191
0
        this->m_current_view = {};
1192
0
        return false;
1193
0
    }
1194
1195
0
    this->m_current_view = {&*this->m_latest, 1};
1196
0
    return true;
1197
0
}
1198
1199
template <typename FileInterface>
1200
bool basic_scan_file_buffer<FileInterface>::sync(std::ptrdiff_t position)
1201
0
{
1202
0
    struct putback_wrapper {
1203
0
        putback_wrapper(FileInterface& interface) : i(interface)
1204
0
        {
1205
0
            i.prepare_putback();
1206
0
        }
1207
0
        ~putback_wrapper()
1208
0
        {
1209
0
            i.finalize_putback();
1210
0
        }
1211
1212
0
        FileInterface& i;
1213
0
    };
1214
1215
0
    if (m_file.has_buffering()) {
1216
0
        if (position <
1217
0
            static_cast<std::ptrdiff_t>(this->putback_buffer().size())) {
1218
0
            putback_wrapper wrapper{m_file};
1219
0
            auto segment = this->get_segment_starting_at(position);
1220
0
            for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1221
0
                if (!m_file.putback(*it)) {
1222
0
                    return false;
1223
0
                }
1224
0
            }
1225
0
            return true;
1226
0
        }
1227
1228
0
        m_file.unsafe_advance_n(position - static_cast<std::ptrdiff_t>(
1229
0
                                               this->putback_buffer().size()));
1230
0
        return true;
1231
0
    }
1232
1233
0
    const auto chars_avail = this->chars_available();
1234
0
    if (position == chars_avail) {
1235
0
        return true;
1236
0
    }
1237
1238
0
    putback_wrapper wrapper{m_file};
1239
0
    SCN_EXPECT(m_current_view.size() == 1);
1240
0
    (void)m_file.putback(m_current_view.front());
1241
1242
0
    auto segment = std::string_view{this->putback_buffer().data(),
1243
0
                                    this->putback_buffer().size()}
1244
0
                       .substr(static_cast<std::size_t>(position));
1245
0
    for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1246
0
        if (!m_file.putback(*it)) {
1247
0
            return false;
1248
0
        }
1249
0
    }
1250
0
    return true;
1251
0
}
1252
1253
}  // namespace detail
1254
1255
/////////////////////////////////////////////////////////////////
1256
// Unicode
1257
/////////////////////////////////////////////////////////////////
1258
1259
namespace impl {
1260
1261
template <typename CharT>
1262
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1263
13.9k
{
1264
13.9k
    auto it = src.begin();
1265
509k
    while (it != src.end()) {
1266
498k
        const auto len = static_cast<std::ptrdiff_t>(
1267
498k
            detail::code_point_length_by_starting_code_unit(*it));
1268
498k
        SCN_EXPECT(len >= 0);
1269
498k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
496k
        if (std::distance(it, src.end()) < len) {
1273
234
            return false;
1274
234
        }
1275
496k
        const auto cp = detail::decode_code_point_exhaustive(
1276
496k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
496k
        if (cp >= detail::invalid_code_point) {
1278
1.39k
            return false;
1279
1.39k
        }
1280
495k
        it += len;
1281
495k
    }
1282
10.9k
    return true;
1283
13.9k
}
bool scn::v4::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1263
8.45k
{
1264
8.45k
    auto it = src.begin();
1265
457k
    while (it != src.end()) {
1266
450k
        const auto len = static_cast<std::ptrdiff_t>(
1267
450k
            detail::code_point_length_by_starting_code_unit(*it));
1268
450k
        SCN_EXPECT(len >= 0);
1269
450k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
449k
        if (std::distance(it, src.end()) < len) {
1273
234
            return false;
1274
234
        }
1275
449k
        const auto cp = detail::decode_code_point_exhaustive(
1276
449k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
449k
        if (cp >= detail::invalid_code_point) {
1278
426
            return false;
1279
426
        }
1280
448k
        it += len;
1281
448k
    }
1282
6.50k
    return true;
1283
8.45k
}
bool scn::v4::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1263
5.46k
{
1264
5.46k
    auto it = src.begin();
1265
51.9k
    while (it != src.end()) {
1266
47.4k
        const auto len = static_cast<std::ptrdiff_t>(
1267
47.4k
            detail::code_point_length_by_starting_code_unit(*it));
1268
47.4k
        SCN_EXPECT(len >= 0);
1269
47.4k
        if (len == 0) {
1270
0
            return false;
1271
0
        }
1272
47.4k
        if (std::distance(it, src.end()) < len) {
1273
0
            return false;
1274
0
        }
1275
47.4k
        const auto cp = detail::decode_code_point_exhaustive(
1276
47.4k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
47.4k
        if (cp >= detail::invalid_code_point) {
1278
972
            return false;
1279
972
        }
1280
46.4k
        it += len;
1281
46.4k
    }
1282
4.48k
    return true;
1283
5.46k
}
1284
1285
template <typename Range>
1286
constexpr auto get_start_for_next_code_point(Range input)
1287
    -> ranges::const_iterator_t<Range>
1288
9.77k
{
1289
9.77k
    auto it = input.begin();
1290
22.6k
    for (; it != input.end(); ++it) {
1291
21.0k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
8.16k
            break;
1293
8.16k
        }
1294
21.0k
    }
1295
9.77k
    return it;
1296
9.77k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1288
5.66k
{
1289
5.66k
    auto it = input.begin();
1290
17.5k
    for (; it != input.end(); ++it) {
1291
16.1k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
4.30k
            break;
1293
4.30k
        }
1294
16.1k
    }
1295
5.66k
    return it;
1296
5.66k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1288
3.15k
{
1289
3.15k
    auto it = input.begin();
1290
3.70k
    for (; it != input.end(); ++it) {
1291
3.51k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
2.96k
            break;
1293
2.96k
        }
1294
3.51k
    }
1295
3.15k
    return it;
1296
3.15k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1288
954
{
1289
954
    auto it = input.begin();
1290
1.44k
    for (; it != input.end(); ++it) {
1291
1.38k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
900
            break;
1293
900
        }
1294
1.38k
    }
1295
954
    return it;
1296
954
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1297
1298
template <typename CharT>
1299
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1300
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1301
                             char32_t>
1302
205M
{
1303
205M
    SCN_EXPECT(!input.empty());
1304
1305
205M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
205M
    if (SCN_UNLIKELY(len == 0)) {
1307
5.66k
        return {get_start_for_next_code_point(input),
1308
5.66k
                detail::invalid_code_point};
1309
5.66k
    }
1310
205M
    if (SCN_UNLIKELY(len > input.size())) {
1311
974
        return {input.end(), detail::invalid_code_point};
1312
974
    }
1313
1314
205M
    return {input.begin() + len,
1315
205M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
205M
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v4::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1302
263k
{
1303
263k
    SCN_EXPECT(!input.empty());
1304
1305
263k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
263k
    if (SCN_UNLIKELY(len == 0)) {
1307
5.66k
        return {get_start_for_next_code_point(input),
1308
5.66k
                detail::invalid_code_point};
1309
5.66k
    }
1310
257k
    if (SCN_UNLIKELY(len > input.size())) {
1311
974
        return {input.end(), detail::invalid_code_point};
1312
974
    }
1313
1314
256k
    return {input.begin() + len,
1315
256k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
257k
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v4::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1302
205M
{
1303
205M
    SCN_EXPECT(!input.empty());
1304
1305
205M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
205M
    if (SCN_UNLIKELY(len == 0)) {
1307
0
        return {get_start_for_next_code_point(input),
1308
0
                detail::invalid_code_point};
1309
0
    }
1310
205M
    if (SCN_UNLIKELY(len > input.size())) {
1311
0
        return {input.end(), detail::invalid_code_point};
1312
0
    }
1313
1314
205M
    return {input.begin() + len,
1315
205M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
205M
}
1317
1318
template <typename CharT>
1319
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1320
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1321
                             char32_t>
1322
108k
{
1323
108k
    SCN_EXPECT(!input.empty());
1324
1325
108k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1326
108k
    SCN_EXPECT(len <= input.size());
1327
1328
108k
    return {input.begin() + static_cast<std::ptrdiff_t>(len),
1329
108k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1330
108k
}
1331
1332
template <typename CharT>
1333
struct is_first_char_space_result {
1334
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1335
    char32_t cp;
1336
    bool is_space;
1337
};
1338
1339
template <typename CharT>
1340
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1341
    -> is_first_char_space_result<CharT>
1342
205M
{
1343
    // TODO: optimize
1344
205M
    SCN_EXPECT(!str.empty());
1345
205M
    auto res = get_next_code_point(str);
1346
205M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
205M
}
scn::v4::impl::is_first_char_space_result<char> scn::v4::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1342
39.0k
{
1343
    // TODO: optimize
1344
39.0k
    SCN_EXPECT(!str.empty());
1345
39.0k
    auto res = get_next_code_point(str);
1346
39.0k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
39.0k
}
scn::v4::impl::is_first_char_space_result<wchar_t> scn::v4::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1342
205M
{
1343
    // TODO: optimize
1344
205M
    SCN_EXPECT(!str.empty());
1345
205M
    auto res = get_next_code_point(str);
1346
205M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
205M
}
1348
1349
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1350
    char32_t cp,
1351
    bool error_on_overflow)
1352
0
{
1353
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1354
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1355
0
        SCN_UNUSED(error_on_overflow);
1356
0
        return static_cast<wchar_t>(cp);
1357
    }
1358
    else {
1359
        if (cp < 0x10000) {
1360
            return static_cast<wchar_t>(cp);
1361
        }
1362
        if (error_on_overflow) {
1363
            return detail::unexpected_scan_error(
1364
                scan_error::value_positive_overflow,
1365
                "Non-BMP code point can't be "
1366
                "narrowed to a single 2-byte "
1367
                "wchar_t code unit");
1368
        }
1369
        // Return the lead surrogate
1370
        return static_cast<wchar_t>(
1371
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1372
    }
1373
0
}
1374
1375
template <typename SourceCharT, typename DestCharT>
1376
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1377
                                   std::basic_string<DestCharT>& dest)
1378
2.78k
{
1379
2.78k
    static_assert(sizeof(DestCharT) == 4);
1380
1381
2.78k
    auto it = src.begin();
1382
146k
    while (it != src.end()) {
1383
143k
        auto res = get_next_code_point(
1384
143k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1385
143k
                                                                 src.end()));
1386
143k
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1387
3.08k
            dest.push_back(DestCharT{0xfffd});
1388
3.08k
        }
1389
140k
        else {
1390
140k
            dest.push_back(static_cast<DestCharT>(res.value));
1391
140k
        }
1392
143k
        it = detail::make_string_view_iterator(src, res.iterator);
1393
143k
    }
1394
2.78k
}
1395
template <typename SourceCharT, typename DestCharT>
1396
void transcode_valid_to_string_impl_to32(
1397
    std::basic_string_view<SourceCharT> src,
1398
    std::basic_string<DestCharT>& dest)
1399
1.62k
{
1400
1.62k
    static_assert(sizeof(DestCharT) == 4);
1401
1402
1.62k
    auto it = src.begin();
1403
110k
    while (it != src.end()) {
1404
108k
        auto res = get_next_code_point_valid(
1405
108k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1406
108k
                                                                 src.end()));
1407
108k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1408
108k
        dest.push_back(static_cast<DestCharT>(res.value));
1409
108k
        it = detail::make_string_view_iterator(src, res.iterator);
1410
108k
    }
1411
1.62k
}
1412
1413
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1414
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1415
                                    std::basic_string<DestCharT>& dest)
1416
1.12k
{
1417
1.12k
    static_assert(sizeof(SourceCharT) == 4);
1418
1.12k
    static_assert(sizeof(DestCharT) == 1);
1419
1420
10.0k
    for (auto cp : src) {
1421
10.0k
        const auto u32cp = static_cast<uint32_t>(cp);
1422
10.0k
        if (SCN_UNLIKELY(!VerifiedValid && static_cast<char32_t>(cp) >=
1423
10.0k
                                               detail::invalid_code_point)) {
1424
            // Replacement character
1425
0
            dest.push_back(static_cast<char>(0xef));
1426
0
            dest.push_back(static_cast<char>(0xbf));
1427
0
            dest.push_back(static_cast<char>(0xbd));
1428
0
        }
1429
10.0k
        else if (cp < 128) {
1430
8.54k
            dest.push_back(static_cast<char>(cp));
1431
8.54k
        }
1432
1.52k
        else if (cp < 2048) {
1433
172
            dest.push_back(
1434
172
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1435
172
            dest.push_back(
1436
172
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1437
172
        }
1438
1.34k
        else if (cp < 65536) {
1439
960
            dest.push_back(
1440
960
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1441
960
            dest.push_back(static_cast<char>(
1442
960
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1443
960
            dest.push_back(
1444
960
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1445
960
        }
1446
388
        else {
1447
388
            dest.push_back(
1448
388
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1449
388
            dest.push_back(static_cast<char>(
1450
388
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1451
388
            dest.push_back(static_cast<char>(
1452
388
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1453
388
            dest.push_back(
1454
388
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1455
388
        }
1456
10.0k
    }
1457
1.12k
}
1458
1459
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1460
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1461
                                     std::basic_string<DestCharT>& dest)
1462
{
1463
    static_assert(sizeof(SourceCharT) == 4);
1464
    static_assert(sizeof(DestCharT) == 2);
1465
1466
    for (auto cp : src) {
1467
        const auto u32cp = static_cast<uint32_t>(cp);
1468
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1469
            dest.push_back(char16_t{0xfffd});
1470
        }
1471
        else if (cp < 0x10000) {
1472
            dest.push_back(static_cast<char16_t>(cp));
1473
        }
1474
        else {
1475
            dest.push_back(
1476
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1477
            dest.push_back(
1478
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1479
        }
1480
    }
1481
}
1482
1483
template <typename SourceCharT, typename DestCharT>
1484
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1485
                         std::basic_string<DestCharT>& dest)
1486
2.78k
{
1487
2.78k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1488
1489
2.78k
    if constexpr (sizeof(SourceCharT) == 1) {
1490
        if constexpr (sizeof(DestCharT) == 2) {
1491
            std::u32string tmp;
1492
            transcode_to_string_impl_to32(src, tmp);
1493
            return transcode_to_string_impl_32to16<false>(
1494
                std::u32string_view{tmp}, dest);
1495
        }
1496
2.78k
        else if constexpr (sizeof(DestCharT) == 4) {
1497
2.78k
            return transcode_to_string_impl_to32(src, dest);
1498
2.78k
        }
1499
    }
1500
    else if constexpr (sizeof(SourceCharT) == 2) {
1501
        if constexpr (sizeof(DestCharT) == 1) {
1502
            std::u32string tmp;
1503
            transcode_to_string_impl_to32(src, tmp);
1504
            return transcode_to_string_impl_32to8<false>(
1505
                std::u32string_view{tmp}, dest);
1506
        }
1507
        else if constexpr (sizeof(DestCharT) == 4) {
1508
            return trasncode_to_string_impl_to32(src, dest);
1509
        }
1510
    }
1511
    else if constexpr (sizeof(SourceCharT) == 4) {
1512
        if constexpr (sizeof(DestCharT) == 1) {
1513
            return transcode_to_string_impl_32to8<false>(src, dest);
1514
        }
1515
        else if constexpr (sizeof(DestCharT) == 2) {
1516
            return transcode_to_string_impl_32to16<false>(src, dest);
1517
        }
1518
    }
1519
1520
2.78k
    SCN_EXPECT(false);
1521
2.78k
    SCN_UNREACHABLE;
1522
2.78k
}
1523
template <typename SourceCharT, typename DestCharT>
1524
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1525
                               std::basic_string<DestCharT>& dest)
1526
2.74k
{
1527
2.74k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
2.74k
    SCN_EXPECT(validate_unicode(src));
1530
2.74k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.62k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.62k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.62k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.12k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.12k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.12k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.12k
    }
1561
1562
2.74k
    SCN_EXPECT(false);
1563
2.74k
    SCN_UNREACHABLE;
1564
2.74k
}
void scn::v4::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1526
1.62k
{
1527
1.62k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.62k
    SCN_EXPECT(validate_unicode(src));
1530
1.62k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.62k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.62k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.62k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
        if constexpr (sizeof(DestCharT) == 1) {
1555
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
    }
1561
1562
1.62k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.62k
}
void scn::v4::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1526
1.12k
{
1527
1.12k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.12k
    SCN_EXPECT(validate_unicode(src));
1530
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
        else if constexpr (sizeof(DestCharT) == 4) {
1539
            return transcode_valid_to_string_impl_to32(src, dest);
1540
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.12k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.12k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.12k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.12k
    }
1561
1562
1.12k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.12k
}
1565
1566
template <typename CharT>
1567
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1568
                                   function_ref<void(char32_t)> cb)
1569
44.4k
{
1570
    // TODO: Could be optimized by being eager
1571
44.4k
    auto it = input.begin();
1572
102k
    while (it != input.end()) {
1573
57.5k
        auto res = get_next_code_point(
1574
57.5k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
57.5k
        cb(res.value);
1576
57.5k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
57.5k
    }
1578
44.4k
}
void scn::v4::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
41.0k
{
1570
    // TODO: Could be optimized by being eager
1571
41.0k
    auto it = input.begin();
1572
89.8k
    while (it != input.end()) {
1573
48.8k
        auto res = get_next_code_point(
1574
48.8k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
48.8k
        cb(res.value);
1576
48.8k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
48.8k
    }
1578
41.0k
}
void scn::v4::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
3.39k
{
1570
    // TODO: Could be optimized by being eager
1571
3.39k
    auto it = input.begin();
1572
12.1k
    while (it != input.end()) {
1573
8.73k
        auto res = get_next_code_point(
1574
8.73k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
8.73k
        cb(res.value);
1576
8.73k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
8.73k
    }
1578
3.39k
}
1579
1580
template <typename CharT>
1581
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1582
                                         function_ref<void(char32_t)> cb)
1583
{
1584
    auto it = input.begin();
1585
    while (it != input.end()) {
1586
        auto res = get_next_code_point_valid(
1587
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1588
        cb(res.value);
1589
        it = detail::make_string_view_iterator(input, res.iterator);
1590
    }
1591
}
1592
1593
/////////////////////////////////////////////////////////////////
1594
// contiguous_range_factory
1595
/////////////////////////////////////////////////////////////////
1596
1597
template <typename View>
1598
class take_width_view;
1599
1600
template <typename CharT>
1601
struct string_view_wrapper {
1602
    using char_type = CharT;
1603
    using string_type = std::basic_string<CharT>;
1604
    using string_view_type = std::basic_string_view<CharT>;
1605
1606
    constexpr string_view_wrapper() = default;
1607
1608
    template <typename Range,
1609
              std::enable_if_t<ranges::borrowed_range<Range> &&
1610
                               ranges::contiguous_range<Range> &&
1611
                               ranges::sized_range<Range>>* = nullptr>
1612
48.1k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
48.1k
    {
1614
48.1k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2INS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
12.1k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
12.1k
    {
1614
12.1k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISF_Esr6rangesE11sized_rangeISF_EEvE4typeELPv0EEEOSF_
Line
Count
Source
1612
18.0k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
18.0k
    {
1614
18.0k
    }
_ZN3scn2v44impl19string_view_wrapperIwEC2INS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
9.70k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
9.70k
    {
1614
9.70k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNSt3__117basic_string_viewIcNS5_11char_traitsIcEEEETnPNS5_9enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISC_Esr6rangesE11sized_rangeISC_EEvE4typeELPv0EEEOSC_
Line
Count
Source
1612
8.23k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
8.23k
    {
1614
8.23k
    }
1615
1616
    template <typename Range,
1617
              std::enable_if_t<ranges::borrowed_range<Range> &&
1618
                               ranges::contiguous_range<Range> &&
1619
                               ranges::sized_range<Range>>* = nullptr>
1620
    void assign(Range&& r)
1621
    {
1622
        sv = string_view_type{ranges::data(r), r.size()};
1623
    }
1624
1625
    constexpr auto view() const
1626
78.5k
    {
1627
78.5k
        return sv;
1628
78.5k
    }
scn::v4::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1626
67.0k
    {
1627
67.0k
        return sv;
1628
67.0k
    }
scn::v4::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1626
11.4k
    {
1627
11.4k
        return sv;
1628
11.4k
    }
1629
1630
    constexpr bool stores_allocated_string() const
1631
0
    {
1632
0
        return false;
1633
0
    }
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1634
1635
    [[noreturn]] string_type get_allocated_string() const
1636
    {
1637
        SCN_EXPECT(false);
1638
        SCN_UNREACHABLE;
1639
    }
1640
1641
    string_view_type sv;
1642
};
1643
1644
template <typename Range>
1645
string_view_wrapper(Range)
1646
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1647
1648
template <typename CharT>
1649
class contiguous_range_factory {
1650
public:
1651
    using char_type = CharT;
1652
    using string_type = std::basic_string<CharT>;
1653
    using string_view_type = std::basic_string_view<CharT>;
1654
1655
4.81k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1655
2.57k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1655
2.24k
    contiguous_range_factory() = default;
1656
1657
    template <typename Range,
1658
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1659
    contiguous_range_factory(Range&& range)
1660
2.96k
    {
1661
2.96k
        emplace_range(SCN_FWD(range));
1662
2.96k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
2.17k
    {
1661
2.17k
        emplace_range(SCN_FWD(range));
1662
2.17k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
788
    {
1661
788
        emplace_range(SCN_FWD(range));
1662
788
    }
1663
1664
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1665
        : m_storage(std::nullopt), m_view(svw.view())
1666
    {
1667
    }
1668
1669
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1670
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1671
        delete;
1672
1673
    contiguous_range_factory(contiguous_range_factory&& other)
1674
        : m_storage(SCN_MOVE(other.m_storage))
1675
    {
1676
        if (m_storage) {
1677
            m_view = *m_storage;
1678
        }
1679
        else {
1680
            m_view = other.m_view;
1681
        }
1682
    }
1683
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1684
    {
1685
        m_storage = SCN_MOVE(other.m_storage);
1686
        if (m_storage) {
1687
            m_view = *m_storage;
1688
        }
1689
        else {
1690
            m_view = other.m_view;
1691
        }
1692
        return *this;
1693
    }
1694
1695
7.77k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1695
4.74k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1695
3.02k
    ~contiguous_range_factory() = default;
1696
1697
    template <typename Range,
1698
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1699
    void assign(Range&& range)
1700
1.90k
    {
1701
1.90k
        emplace_range(SCN_FWD(range));
1702
1.90k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
904
    {
1701
904
        emplace_range(SCN_FWD(range));
1702
904
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
Line
Count
Source
1700
20
    {
1701
20
        emplace_range(SCN_FWD(range));
1702
20
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
914
    {
1701
914
        emplace_range(SCN_FWD(range));
1702
914
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINSt3__112basic_stringIwNS5_11char_traitsIwEENS5_9allocatorIwEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
Line
Count
Source
1700
70
    {
1701
70
        emplace_range(SCN_FWD(range));
1702
70
    }
1703
1704
    string_view_type view() const
1705
7.62k
    {
1706
7.62k
        return m_view;
1707
7.62k
    }
scn::v4::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1705
4.46k
    {
1706
4.46k
        return m_view;
1707
4.46k
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1705
3.16k
    {
1706
3.16k
        return m_view;
1707
3.16k
    }
1708
1709
    constexpr bool stores_allocated_string() const
1710
1.76k
    {
1711
1.76k
        return m_storage.has_value();
1712
1.76k
    }
scn::v4::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1710
956
    {
1711
956
        return m_storage.has_value();
1712
956
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1710
804
    {
1711
804
        return m_storage.has_value();
1712
804
    }
1713
1714
    string_type& get_allocated_string() &
1715
896
    {
1716
896
        SCN_EXPECT(stores_allocated_string());
1717
896
        return *m_storage;
1718
896
    }
scn::v4::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1715
478
    {
1716
478
        SCN_EXPECT(stores_allocated_string());
1717
478
        return *m_storage;
1718
478
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1715
418
    {
1716
418
        SCN_EXPECT(stores_allocated_string());
1717
418
        return *m_storage;
1718
418
    }
1719
    const string_type& get_allocated_string() const&
1720
    {
1721
        SCN_EXPECT(stores_allocated_string());
1722
        return *m_storage;
1723
    }
1724
    string_type&& get_allocated_string() &&
1725
    {
1726
        SCN_EXPECT(stores_allocated_string());
1727
        return *m_storage;
1728
    }
1729
1730
    string_type& make_into_allocated_string()
1731
0
    {
1732
0
        if (stores_allocated_string()) {
1733
0
            return get_allocated_string();
1734
0
        }
1735
1736
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1737
0
        m_view = string_view_type{str.data(), str.size()};
1738
0
        return str;
1739
0
    }
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1740
1741
private:
1742
    template <typename Range>
1743
    void emplace_range(Range&& range)
1744
4.87k
    {
1745
4.87k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
1.81k
                      ranges::sized_range<Range>) {
1750
1.81k
            m_storage.reset();
1751
1.81k
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
70
                                          std::basic_string<CharT>>) {
1755
70
            m_storage.emplace(SCN_FWD(range));
1756
70
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
0
                           ranges::common_range<Range>) {
1762
0
            auto beg_seg = range.begin().contiguous_segment();
1763
0
            auto end_seg = range.end().contiguous_segment();
1764
0
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
0
                             detail::to_address(end_seg.end()))) {
1766
0
                auto& str = m_storage.emplace();
1767
0
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
0
                                                     range.begin().position()));
1769
0
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
0
                m_view = string_view_type{str.data(), str.size()};
1771
0
                return;
1772
0
            }
1773
1774
0
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
0
                                                            end_seg.data());
1776
0
            m_storage.reset();
1777
        }
1778
2.98k
        else {
1779
2.98k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.98k
            if constexpr (ranges::common_range<Range>) {
1784
2.98k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.98k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.98k
            m_view = string_view_type{str.data(), str.size()};
1794
2.98k
        }
1795
4.87k
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1744
2.17k
    {
1745
2.17k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
2.17k
        else {
1779
2.17k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.17k
            if constexpr (ranges::common_range<Range>) {
1784
2.17k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.17k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.17k
            m_view = string_view_type{str.data(), str.size()};
1794
2.17k
        }
1795
2.17k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1744
904
    {
1745
904
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
904
                      ranges::sized_range<Range>) {
1750
904
            m_storage.reset();
1751
904
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
904
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1744
808
    {
1745
808
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
808
        else {
1779
808
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
808
            if constexpr (ranges::common_range<Range>) {
1784
808
                std::copy(ranges::begin(range), ranges::end(range),
1785
808
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
808
            m_view = string_view_type{str.data(), str.size()};
1794
808
        }
1795
808
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1744
914
    {
1745
914
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
914
                      ranges::sized_range<Range>) {
1750
914
            m_storage.reset();
1751
914
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
914
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1744
70
    {
1745
70
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
70
                                          std::basic_string<CharT>>) {
1755
70
            m_storage.emplace(SCN_FWD(range));
1756
70
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
70
    }
1796
1797
    std::optional<string_type> m_storage{std::nullopt};
1798
    string_view_type m_view{};
1799
};
1800
1801
template <typename Range>
1802
contiguous_range_factory(Range)
1803
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1804
1805
template <typename Range>
1806
auto make_contiguous_buffer(Range&& range)
1807
51.1k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
48.1k
                  ranges::sized_range<Range>) {
1811
48.1k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.96k
    else {
1814
2.96k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.96k
    }
1816
51.1k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1807
2.17k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.17k
    else {
1814
2.17k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.17k
    }
1816
2.17k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1807
12.1k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
12.1k
                  ranges::sized_range<Range>) {
1811
12.1k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
12.1k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1807
18.0k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
18.0k
                  ranges::sized_range<Range>) {
1811
18.0k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
18.0k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1807
788
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
788
    else {
1814
788
        return contiguous_range_factory{SCN_FWD(range)};
1815
788
    }
1816
788
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1807
9.70k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
9.70k
                  ranges::sized_range<Range>) {
1811
9.70k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
9.70k
}
auto scn::v4::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1807
8.23k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
8.23k
                  ranges::sized_range<Range>) {
1811
8.23k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
8.23k
}
1817
}  // namespace impl
1818
1819
/////////////////////////////////////////////////////////////////
1820
// locale stuff
1821
/////////////////////////////////////////////////////////////////
1822
1823
#if !SCN_DISABLE_LOCALE
1824
1825
namespace detail {
1826
extern template locale_ref::locale_ref(const std::locale&);
1827
extern template auto locale_ref::get() const -> std::locale;
1828
}  // namespace detail
1829
1830
namespace impl {
1831
template <typename Facet>
1832
const Facet& get_facet(detail::locale_ref loc)
1833
{
1834
    auto stdloc = loc.get<std::locale>();
1835
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1836
    return std::use_facet<Facet>(stdloc);
1837
}
1838
1839
template <typename Facet>
1840
const Facet& get_or_add_facet(std::locale& stdloc)
1841
244
{
1842
244
    if (std::has_facet<Facet>(stdloc)) {
1843
244
        return std::use_facet<Facet>(stdloc);
1844
244
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
244
}
std::__1::numpunct<char> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1841
86
{
1842
86
    if (std::has_facet<Facet>(stdloc)) {
1843
86
        return std::use_facet<Facet>(stdloc);
1844
86
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
86
}
std::__1::numpunct<wchar_t> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1841
158
{
1842
158
    if (std::has_facet<Facet>(stdloc)) {
1843
158
        return std::use_facet<Facet>(stdloc);
1844
158
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
158
}
1848
1849
class clocale_restorer {
1850
public:
1851
90
    clocale_restorer(int cat) : m_category(cat)
1852
90
    {
1853
90
        const auto loc = std::setlocale(cat, nullptr);
1854
90
        std::strcpy(m_locbuf, loc);
1855
90
    }
1856
    ~clocale_restorer()
1857
90
    {
1858
        // Restore locale to what it was before
1859
90
        std::setlocale(m_category, m_locbuf);
1860
90
    }
1861
1862
    clocale_restorer(const clocale_restorer&) = delete;
1863
    clocale_restorer(clocale_restorer&&) = delete;
1864
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1865
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1866
1867
private:
1868
    // For whatever reason, this cannot be stored in the heap if
1869
    // setlocale hasn't been called before, or msan errors with
1870
    // 'use-of-unitialized-value' when resetting the locale
1871
    // back. POSIX specifies that the content of loc may not be
1872
    // static, so we need to save it ourselves
1873
    char m_locbuf[64] = {0};
1874
1875
    int m_category;
1876
};
1877
1878
class set_clocale_classic_guard {
1879
public:
1880
90
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1881
90
    {
1882
90
        std::setlocale(cat, "C");
1883
90
    }
1884
1885
private:
1886
    clocale_restorer m_restorer;
1887
};
1888
}  // namespace impl
1889
1890
namespace impl {
1891
struct classic_with_thsep_tag {};
1892
1893
template <typename CharT>
1894
struct localized_number_formatting_options {
1895
2.40k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1895
1.28k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1895
1.12k
    localized_number_formatting_options() = default;
1896
1897
    localized_number_formatting_options(classic_with_thsep_tag)
1898
0
    {
1899
0
        grouping = "\3";
1900
0
        thousands_sep = CharT{','};
1901
0
    }
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
1902
1903
    localized_number_formatting_options(detail::locale_ref loc)
1904
194
    {
1905
194
        auto stdloc = loc.get<std::locale>();
1906
194
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
194
        grouping = numpunct.grouping();
1908
194
        thousands_sep =
1909
194
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
194
        decimal_point = numpunct.decimal_point();
1911
194
    }
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
62
    {
1905
62
        auto stdloc = loc.get<std::locale>();
1906
62
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
62
        grouping = numpunct.grouping();
1908
62
        thousands_sep =
1909
62
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
62
        decimal_point = numpunct.decimal_point();
1911
62
    }
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
132
    {
1905
132
        auto stdloc = loc.get<std::locale>();
1906
132
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
132
        grouping = numpunct.grouping();
1908
132
        thousands_sep =
1909
132
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
132
        decimal_point = numpunct.decimal_point();
1911
132
    }
1912
1913
    std::string grouping{};
1914
    CharT thousands_sep{0};
1915
    CharT decimal_point{CharT{'.'}};
1916
};
1917
}  // namespace impl
1918
1919
#else
1920
1921
namespace impl {
1922
struct set_clocale_classic_guard {
1923
    set_clocale_classic_guard(int) {}
1924
};
1925
1926
struct classic_with_thsep_tag {};
1927
1928
template <typename CharT>
1929
struct localized_number_formatting_options {
1930
    localized_number_formatting_options() = default;
1931
1932
    localized_number_formatting_options(classic_with_thsep_tag)
1933
    {
1934
        grouping = "\3";
1935
        thousands_sep = CharT{','};
1936
    }
1937
1938
    std::string grouping{};
1939
    CharT thousands_sep{0};
1940
    CharT decimal_point{CharT{'.'}};
1941
};
1942
}  // namespace impl
1943
1944
#endif  // !SCN_DISABLE_LOCALE
1945
1946
/////////////////////////////////////////////////////////////////
1947
// Range reading algorithms
1948
/////////////////////////////////////////////////////////////////
1949
1950
namespace impl {
1951
1952
std::string_view::iterator find_classic_space_narrow_fast(
1953
    std::string_view source);
1954
1955
std::string_view::iterator find_classic_nonspace_narrow_fast(
1956
    std::string_view source);
1957
1958
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1959
    std::string_view source);
1960
1961
template <typename Range>
1962
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1963
2.06k
{
1964
2.06k
    return ranges::next(range.begin(), range.end());
1965
2.06k
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
904
{
1964
904
    return ranges::next(range.begin(), range.end());
1965
904
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
174
{
1964
174
    return ranges::next(range.begin(), range.end());
1965
174
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
912
{
1964
912
    return ranges::next(range.begin(), range.end());
1965
912
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
78
{
1964
78
    return ranges::next(range.begin(), range.end());
1965
78
}
1966
1967
template <typename Range>
1968
auto read_code_unit(Range range)
1969
    -> eof_expected<ranges::const_iterator_t<Range>>
1970
16.7k
{
1971
16.7k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
16.7k
    return ranges::next(range.begin());
1976
16.7k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
2.43k
{
1971
2.43k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
2.43k
    return ranges::next(range.begin());
1976
2.43k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
40
{
1971
40
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
40
    return ranges::next(range.begin());
1976
40
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.47k
{
1971
6.47k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.47k
    return ranges::next(range.begin());
1976
6.47k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
1.30k
{
1971
1.30k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
1.30k
    return ranges::next(range.begin());
1976
1.30k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
110
{
1971
110
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
96
    return ranges::next(range.begin());
1976
110
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.38k
{
1971
6.38k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.38k
    return ranges::next(range.begin());
1976
6.38k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
1977
1978
template <typename Range>
1979
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1980
    -> eof_expected<ranges::const_iterator_t<Range>>
1981
53.0k
{
1982
53.0k
    SCN_EXPECT(count >= 0);
1983
1984
53.0k
    if constexpr (ranges::sized_range<Range>) {
1985
42.5k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
42.5k
        if (sz < count) {
1987
734
            return unexpected(eof_error::eof);
1988
734
        }
1989
1990
41.8k
        return ranges::next(range.begin(), count);
1991
    }
1992
10.5k
    else {
1993
10.5k
        auto it = range.begin();
1994
10.5k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
40.1k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
30.5k
            if (it == range.end()) {
2000
1.00k
                return unexpected(eof_error::eof);
2001
1.00k
            }
2002
30.5k
        }
2003
2004
9.53k
        return it;
2005
10.5k
    }
2006
53.0k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
36.9k
{
1982
36.9k
    SCN_EXPECT(count >= 0);
1983
1984
36.9k
    if constexpr (ranges::sized_range<Range>) {
1985
36.9k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
36.9k
        if (sz < count) {
1987
552
            return unexpected(eof_error::eof);
1988
552
        }
1989
1990
36.4k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
36.9k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
7.10k
{
1982
7.10k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
7.10k
    else {
1993
7.10k
        auto it = range.begin();
1994
7.10k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
26.2k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
19.4k
            if (it == range.end()) {
2000
332
                return unexpected(eof_error::eof);
2001
332
            }
2002
19.4k
        }
2003
2004
6.77k
        return it;
2005
7.10k
    }
2006
7.10k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
5.57k
{
1982
5.57k
    SCN_EXPECT(count >= 0);
1983
1984
5.57k
    if constexpr (ranges::sized_range<Range>) {
1985
5.57k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
5.57k
        if (sz < count) {
1987
182
            return unexpected(eof_error::eof);
1988
182
        }
1989
1990
5.39k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
5.57k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
878
{
1982
878
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
878
    else {
1993
878
        auto it = range.begin();
1994
878
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
2.73k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
2.08k
            if (it == range.end()) {
2000
222
                return unexpected(eof_error::eof);
2001
222
            }
2002
2.08k
        }
2003
2004
656
        return it;
2005
878
    }
2006
878
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1981
1.31k
{
1982
1.31k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
1.31k
    else {
1993
1.31k
        auto it = range.begin();
1994
1.31k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
5.12k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.95k
            if (it == range.end()) {
2000
144
                return unexpected(eof_error::eof);
2001
144
            }
2002
3.95k
        }
2003
2004
1.16k
        return it;
2005
1.31k
    }
2006
1.31k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
864
{
1982
864
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
864
    else {
1993
864
        auto it = range.begin();
1994
864
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
4.29k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.61k
            if (it == range.end()) {
2000
184
                return unexpected(eof_error::eof);
2001
184
            }
2002
3.61k
        }
2003
2004
680
        return it;
2005
864
    }
2006
864
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
376
{
1982
376
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
376
    else {
1993
376
        auto it = range.begin();
1994
376
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
1.75k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
1.50k
            if (it == range.end()) {
2000
122
                return unexpected(eof_error::eof);
2001
122
            }
2002
1.50k
        }
2003
2004
254
        return it;
2005
376
    }
2006
376
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
2007
2008
template <typename Iterator, typename CharT>
2009
struct read_code_point_into_result {
2010
    Iterator iterator;
2011
    std::basic_string<CharT> codepoint;
2012
2013
    bool is_valid() const
2014
386k
    {
2015
386k
        return !codepoint.empty();
2016
386k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
2014
27.0k
    {
2015
27.0k
        return !codepoint.empty();
2016
27.0k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
2014
291k
    {
2015
291k
        return !codepoint.empty();
2016
291k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
2014
10.5k
    {
2015
10.5k
        return !codepoint.empty();
2016
10.5k
    }
scn::v4::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
2014
52.1k
    {
2015
52.1k
        return !codepoint.empty();
2016
52.1k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
2014
3.41k
    {
2015
3.41k
        return !codepoint.empty();
2016
3.41k
    }
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
2014
1.49k
    {
2015
1.49k
        return !codepoint.empty();
2016
1.49k
    }
2017
};
2018
2019
template <typename Range>
2020
auto read_code_point_into(Range range)
2021
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
2022
                                   detail::char_t<Range>>
2023
386k
{
2024
386k
    SCN_EXPECT(!is_range_eof(range));
2025
386k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
386k
    auto it = range.begin();
2028
386k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
386k
    if (SCN_UNLIKELY(len == 0)) {
2031
4.10k
        ++it;
2032
4.10k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
4.10k
        return {it, {}};
2034
4.10k
    }
2035
2036
382k
    if (len == 1) {
2037
331k
        ++it;
2038
331k
        return {it, string_type(1, *range.begin())};
2039
331k
    }
2040
2041
51.1k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
51.1k
    return {it, string_type{range.begin(), it}};
2043
382k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
27.0k
{
2024
27.0k
    SCN_EXPECT(!is_range_eof(range));
2025
27.0k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
27.0k
    auto it = range.begin();
2028
27.0k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
27.0k
    if (SCN_UNLIKELY(len == 0)) {
2031
3.15k
        ++it;
2032
3.15k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
3.15k
        return {it, {}};
2034
3.15k
    }
2035
2036
23.8k
    if (len == 1) {
2037
20.4k
        ++it;
2038
20.4k
        return {it, string_type(1, *range.begin())};
2039
20.4k
    }
2040
2041
3.42k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
3.42k
    return {it, string_type{range.begin(), it}};
2043
23.8k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
291k
{
2024
291k
    SCN_EXPECT(!is_range_eof(range));
2025
291k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
291k
    auto it = range.begin();
2028
291k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
291k
    if (SCN_UNLIKELY(len == 0)) {
2031
954
        ++it;
2032
954
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
954
        return {it, {}};
2034
954
    }
2035
2036
290k
    if (len == 1) {
2037
244k
        ++it;
2038
244k
        return {it, string_type(1, *range.begin())};
2039
244k
    }
2040
2041
46.8k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
46.8k
    return {it, string_type{range.begin(), it}};
2043
290k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
52.1k
{
2024
52.1k
    SCN_EXPECT(!is_range_eof(range));
2025
52.1k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
52.1k
    auto it = range.begin();
2028
52.1k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
52.1k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
52.1k
    if (len == 1) {
2037
52.1k
        ++it;
2038
52.1k
        return {it, string_type(1, *range.begin())};
2039
52.1k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
52.1k
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
10.5k
{
2024
10.5k
    SCN_EXPECT(!is_range_eof(range));
2025
10.5k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
10.5k
    auto it = range.begin();
2028
10.5k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
10.5k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
10.5k
    if (len == 1) {
2037
10.5k
        ++it;
2038
10.5k
        return {it, string_type(1, *range.begin())};
2039
10.5k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
10.5k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
3.41k
{
2024
3.41k
    SCN_EXPECT(!is_range_eof(range));
2025
3.41k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
3.41k
    auto it = range.begin();
2028
3.41k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
3.41k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
3.41k
    if (len == 1) {
2037
2.50k
        ++it;
2038
2.50k
        return {it, string_type(1, *range.begin())};
2039
2.50k
    }
2040
2041
902
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
902
    return {it, string_type{range.begin(), it}};
2043
3.41k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
1.49k
{
2024
1.49k
    SCN_EXPECT(!is_range_eof(range));
2025
1.49k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
1.49k
    auto it = range.begin();
2028
1.49k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
1.49k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
1.49k
    if (len == 1) {
2037
1.49k
        ++it;
2038
1.49k
        return {it, string_type(1, *range.begin())};
2039
1.49k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
1.49k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
2044
2045
template <typename Range>
2046
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
2047
{
2048
    return read_code_point_into(range).iterator;
2049
}
2050
2051
template <typename Range>
2052
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
2053
    -> eof_expected<ranges::const_iterator_t<Range>>
2054
{
2055
    SCN_EXPECT(count >= 0);
2056
2057
    if (count > 0) {
2058
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
2059
            return unexpected(e);
2060
        }
2061
    }
2062
2063
    auto it = range.begin();
2064
    for (std::ptrdiff_t i = 0; i < count; ++i) {
2065
        auto rng = ranges::subrange{it, range.end()};
2066
2067
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
2068
            return unexpected(e);
2069
        }
2070
2071
        it = read_code_point(rng);
2072
    }
2073
2074
    return it;
2075
}
2076
2077
template <typename Range>
2078
auto read_until_code_unit(Range range,
2079
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2080
    -> ranges::const_iterator_t<Range>
2081
408
{
2082
408
    if constexpr (ranges::common_range<Range>) {
2083
168
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
240
    else {
2086
240
        auto first = range.begin();
2087
5.59k
        for (; first != range.end(); ++first) {
2088
5.37k
            if (*first == cu) {
2089
12
                return first;
2090
12
            }
2091
5.37k
        }
2092
228
        return first;
2093
240
    }
2094
408
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
144
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
144
    else {
2086
144
        auto first = range.begin();
2087
2.89k
        for (; first != range.end(); ++first) {
2088
2.75k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
2.75k
        }
2092
138
        return first;
2093
144
    }
2094
144
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
72
{
2082
72
    if constexpr (ranges::common_range<Range>) {
2083
72
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
72
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
96
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
96
    else {
2086
96
        auto first = range.begin();
2087
2.70k
        for (; first != range.end(); ++first) {
2088
2.61k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
2.61k
        }
2092
90
        return first;
2093
96
    }
2094
96
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
96
{
2082
96
    if constexpr (ranges::common_range<Range>) {
2083
96
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
96
}
2095
2096
template <typename Range>
2097
auto read_until_code_unit(Range range,
2098
                          function_ref<bool(detail::char_t<Range>)> pred)
2099
    -> ranges::const_iterator_t<Range>
2100
5.96k
{
2101
5.96k
    if constexpr (ranges::common_range<Range>) {
2102
1.97k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
3.99k
    else {
2105
3.99k
        auto first = range.begin();
2106
13.7k
        for (; first != range.end(); ++first) {
2107
13.2k
            if (pred(*first)) {
2108
3.55k
                return first;
2109
3.55k
            }
2110
13.2k
        }
2111
434
        return first;
2112
3.99k
    }
2113
5.96k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
1.37k
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
1.37k
    else {
2105
1.37k
        auto first = range.begin();
2106
1.37k
        for (; first != range.end(); ++first) {
2107
1.37k
            if (pred(*first)) {
2108
1.37k
                return first;
2109
1.37k
            }
2110
1.37k
        }
2111
0
        return first;
2112
1.37k
    }
2113
1.37k
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
622
{
2101
622
    if constexpr (ranges::common_range<Range>) {
2102
622
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
622
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
488
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
488
    else {
2105
488
        auto first = range.begin();
2106
7.83k
        for (; first != range.end(); ++first) {
2107
7.61k
            if (pred(*first)) {
2108
268
                return first;
2109
268
            }
2110
7.61k
        }
2111
220
        return first;
2112
488
    }
2113
488
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
730
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
730
    else {
2105
730
        auto first = range.begin();
2106
790
        for (; first != range.end(); ++first) {
2107
760
            if (pred(*first)) {
2108
700
                return first;
2109
700
            }
2110
760
        }
2111
30
        return first;
2112
730
    }
2113
730
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
1.35k
{
2101
1.35k
    if constexpr (ranges::common_range<Range>) {
2102
1.35k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
1.35k
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
384
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
384
    else {
2105
384
        auto first = range.begin();
2106
2.16k
        for (; first != range.end(); ++first) {
2107
2.05k
            if (pred(*first)) {
2108
270
                return first;
2109
270
            }
2110
2.05k
        }
2111
114
        return first;
2112
384
    }
2113
384
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
492
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
492
    else {
2105
492
        auto first = range.begin();
2106
744
        for (; first != range.end(); ++first) {
2107
708
            if (pred(*first)) {
2108
456
                return first;
2109
456
            }
2110
708
        }
2111
36
        return first;
2112
492
    }
2113
492
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
518
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
518
    else {
2105
518
        auto first = range.begin();
2106
816
        for (; first != range.end(); ++first) {
2107
782
            if (pred(*first)) {
2108
484
                return first;
2109
484
            }
2110
782
        }
2111
34
        return first;
2112
518
    }
2113
518
}
2114
2115
template <typename Range>
2116
auto read_while_code_unit(Range range,
2117
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2118
    -> ranges::const_iterator_t<Range>
2119
{
2120
    auto first = range.begin();
2121
    for (; first != range.end(); ++first) {
2122
        if (*first != cu) {
2123
            return first;
2124
        }
2125
    }
2126
    return first;
2127
}
2128
2129
template <typename Range>
2130
auto read_while_code_unit(Range range,
2131
                          function_ref<bool(detail::char_t<Range>)> pred)
2132
    -> ranges::const_iterator_t<Range>
2133
5.51k
{
2134
5.51k
    return read_until_code_unit(range, std::not_fn(pred));
2135
5.51k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
1.37k
{
2134
1.37k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.37k
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
526
{
2134
526
    return read_until_code_unit(range, std::not_fn(pred));
2135
526
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
314
{
2134
314
    return read_until_code_unit(range, std::not_fn(pred));
2135
314
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
730
{
2134
730
    return read_until_code_unit(range, std::not_fn(pred));
2135
730
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
1.27k
{
2134
1.27k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.27k
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
288
{
2134
288
    return read_until_code_unit(range, std::not_fn(pred));
2135
288
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
492
{
2134
492
    return read_until_code_unit(range, std::not_fn(pred));
2135
492
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
518
{
2134
518
    return read_until_code_unit(range, std::not_fn(pred));
2135
518
}
2136
2137
template <typename Range>
2138
auto read_until1_code_unit(Range range,
2139
                           function_ref<bool(detail::char_t<Range>)> pred)
2140
    -> parse_expected<ranges::const_iterator_t<Range>>
2141
{
2142
    auto it = read_until_code_unit(range, pred);
2143
    if (it == range.begin()) {
2144
        return unexpected(parse_error::error);
2145
    }
2146
    return it;
2147
}
2148
2149
template <typename Range>
2150
auto read_while1_code_unit(Range range,
2151
                           function_ref<bool(detail::char_t<Range>)> pred)
2152
    -> parse_expected<ranges::const_iterator_t<Range>>
2153
2.15k
{
2154
2.15k
    auto it = read_while_code_unit(range, pred);
2155
2.15k
    if (it == range.begin()) {
2156
2.09k
        return unexpected(parse_error::error);
2157
2.09k
    }
2158
64
    return it;
2159
2.15k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
1.37k
{
2154
1.37k
    auto it = read_while_code_unit(range, pred);
2155
1.37k
    if (it == range.begin()) {
2156
1.37k
        return unexpected(parse_error::error);
2157
1.37k
    }
2158
0
    return it;
2159
1.37k
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
22
{
2154
22
    auto it = read_while_code_unit(range, pred);
2155
22
    if (it == range.begin()) {
2156
22
        return unexpected(parse_error::error);
2157
22
    }
2158
0
    return it;
2159
22
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
730
{
2154
730
    auto it = read_while_code_unit(range, pred);
2155
730
    if (it == range.begin()) {
2156
670
        return unexpected(parse_error::error);
2157
670
    }
2158
60
    return it;
2159
730
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
24
{
2154
24
    auto it = read_while_code_unit(range, pred);
2155
24
    if (it == range.begin()) {
2156
20
        return unexpected(parse_error::error);
2157
20
    }
2158
4
    return it;
2159
24
}
2160
2161
template <typename Range, typename CodeUnits>
2162
auto read_until_code_units(Range range, const CodeUnits& needle)
2163
    -> ranges::const_iterator_t<Range>
2164
252
{
2165
252
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
252
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
162
    else {
2172
162
        auto first = range.begin();
2173
2.43k
        while (true) {
2174
2.43k
            auto it = first;
2175
2.94k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.94k
                if (needle_it == needle.end()) {
2177
108
                    return first;
2178
108
                }
2179
2.83k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.77k
                if (*it != *needle_it) {
2183
2.26k
                    break;
2184
2.26k
                }
2185
2.77k
            }
2186
2.26k
            ++first;
2187
2.26k
        }
2188
162
    }
2189
252
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2164
162
{
2165
162
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
    if constexpr (ranges::common_range<Range>) {
2168
        return std::search(range.begin(), range.end(), needle.begin(),
2169
                           needle.end());
2170
    }
2171
162
    else {
2172
162
        auto first = range.begin();
2173
2.43k
        while (true) {
2174
2.43k
            auto it = first;
2175
2.94k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.94k
                if (needle_it == needle.end()) {
2177
108
                    return first;
2178
108
                }
2179
2.83k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.77k
                if (*it != *needle_it) {
2183
2.26k
                    break;
2184
2.26k
                }
2185
2.77k
            }
2186
2.26k
            ++first;
2187
2.26k
        }
2188
162
    }
2189
162
}
_ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2164
90
{
2165
90
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
90
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
    else {
2172
        auto first = range.begin();
2173
        while (true) {
2174
            auto it = first;
2175
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
                if (needle_it == needle.end()) {
2177
                    return first;
2178
                }
2179
                if (it == range.end()) {
2180
                    return it;
2181
                }
2182
                if (*it != *needle_it) {
2183
                    break;
2184
                }
2185
            }
2186
            ++first;
2187
        }
2188
    }
2189
90
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2190
2191
template <typename Range, typename CodeUnits>
2192
auto read_while_code_units(Range range, const CodeUnits& needle)
2193
    -> ranges::const_iterator_t<Range>
2194
1.41k
{
2195
1.41k
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
1.41k
    auto it = range.begin();
2198
2.63k
    while (it != range.end()) {
2199
2.55k
        auto r = read_exactly_n_code_units(
2200
2.55k
            ranges::subrange{it, range.end()},
2201
2.55k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
2.55k
        if (!r) {
2203
220
            return it;
2204
220
        }
2205
2.33k
        static_assert(
2206
2.33k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
2.33k
        if (!std::equal(it, *r, needle.begin())) {
2208
1.11k
            return it;
2209
1.11k
        }
2210
1.21k
        it = *r;
2211
1.21k
    }
2212
80
    SCN_ENSURE(it == range.end());
2213
80
    return it;
2214
80
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2194
316
{
2195
316
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
316
    auto it = range.begin();
2198
596
    while (it != range.end()) {
2199
596
        auto r = read_exactly_n_code_units(
2200
596
            ranges::subrange{it, range.end()},
2201
596
            static_cast<std::ptrdiff_t>(needle.size()));
2202
596
        if (!r) {
2203
6
            return it;
2204
6
        }
2205
590
        static_assert(
2206
590
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
590
        if (!std::equal(it, *r, needle.begin())) {
2208
310
            return it;
2209
310
        }
2210
280
        it = *r;
2211
280
    }
2212
0
    SCN_ENSURE(it == range.end());
2213
0
    return it;
2214
0
}
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2194
338
{
2195
338
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
338
    auto it = range.begin();
2198
688
    while (it != range.end()) {
2199
642
        auto r = read_exactly_n_code_units(
2200
642
            ranges::subrange{it, range.end()},
2201
642
            static_cast<std::ptrdiff_t>(needle.size()));
2202
642
        if (!r) {
2203
70
            return it;
2204
70
        }
2205
572
        static_assert(
2206
572
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
572
        if (!std::equal(it, *r, needle.begin())) {
2208
222
            return it;
2209
222
        }
2210
350
        it = *r;
2211
350
    }
2212
46
    SCN_ENSURE(it == range.end());
2213
46
    return it;
2214
46
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2194
764
{
2195
764
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
764
    auto it = range.begin();
2198
1.34k
    while (it != range.end()) {
2199
1.31k
        auto r = read_exactly_n_code_units(
2200
1.31k
            ranges::subrange{it, range.end()},
2201
1.31k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
1.31k
        if (!r) {
2203
144
            return it;
2204
144
        }
2205
1.16k
        static_assert(
2206
1.16k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
1.16k
        if (!std::equal(it, *r, needle.begin())) {
2208
586
            return it;
2209
586
        }
2210
582
        it = *r;
2211
582
    }
2212
34
    SCN_ENSURE(it == range.end());
2213
34
    return it;
2214
34
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2215
2216
template <typename Range>
2217
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2218
    -> ranges::const_iterator_t<Range>
2219
27.7k
{
2220
27.7k
    auto it = range.begin();
2221
395k
    while (it != range.end()) {
2222
386k
        const auto val =
2223
386k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
386k
        if (SCN_LIKELY(val.is_valid())) {
2225
382k
            const auto cp = detail::decode_code_point_exhaustive(
2226
382k
                std::basic_string_view<detail::char_t<Range>>{
2227
382k
                    val.codepoint.data(), val.codepoint.size()});
2228
382k
            if (pred(cp)) {
2229
18.8k
                return it;
2230
18.8k
            }
2231
382k
        }
2232
367k
        it = val.iterator;
2233
367k
    }
2234
2235
8.89k
    return it;
2236
27.7k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
1.02k
{
2220
1.02k
    auto it = range.begin();
2221
15.0k
    while (it != range.end()) {
2222
14.6k
        const auto val =
2223
14.6k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
14.6k
        if (SCN_LIKELY(val.is_valid())) {
2225
13.1k
            const auto cp = detail::decode_code_point_exhaustive(
2226
13.1k
                std::basic_string_view<detail::char_t<Range>>{
2227
13.1k
                    val.codepoint.data(), val.codepoint.size()});
2228
13.1k
            if (pred(cp)) {
2229
618
                return it;
2230
618
            }
2231
13.1k
        }
2232
13.9k
        it = val.iterator;
2233
13.9k
    }
2234
2235
404
    return it;
2236
1.02k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
948
{
2220
948
    auto it = range.begin();
2221
13.1k
    while (it != range.end()) {
2222
12.4k
        const auto val =
2223
12.4k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
12.4k
        if (SCN_LIKELY(val.is_valid())) {
2225
10.7k
            const auto cp = detail::decode_code_point_exhaustive(
2226
10.7k
                std::basic_string_view<detail::char_t<Range>>{
2227
10.7k
                    val.codepoint.data(), val.codepoint.size()});
2228
10.7k
            if (pred(cp)) {
2229
222
                return it;
2230
222
            }
2231
10.7k
        }
2232
12.2k
        it = val.iterator;
2233
12.2k
    }
2234
2235
726
    return it;
2236
948
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
2.34k
{
2220
2.34k
    auto it = range.begin();
2221
291k
    while (it != range.end()) {
2222
291k
        const auto val =
2223
291k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
291k
        if (SCN_LIKELY(val.is_valid())) {
2225
290k
            const auto cp = detail::decode_code_point_exhaustive(
2226
290k
                std::basic_string_view<detail::char_t<Range>>{
2227
290k
                    val.codepoint.data(), val.codepoint.size()});
2228
290k
            if (pred(cp)) {
2229
2.19k
                return it;
2230
2.19k
            }
2231
290k
        }
2232
289k
        it = val.iterator;
2233
289k
    }
2234
2235
156
    return it;
2236
2.34k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2219
4.42k
{
2220
4.42k
    auto it = range.begin();
2221
9.46k
    while (it != range.end()) {
2222
5.81k
        const auto val =
2223
5.81k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
5.81k
        if (SCN_LIKELY(val.is_valid())) {
2225
5.81k
            const auto cp = detail::decode_code_point_exhaustive(
2226
5.81k
                std::basic_string_view<detail::char_t<Range>>{
2227
5.81k
                    val.codepoint.data(), val.codepoint.size()});
2228
5.81k
            if (pred(cp)) {
2229
778
                return it;
2230
778
            }
2231
5.81k
        }
2232
5.04k
        it = val.iterator;
2233
5.04k
    }
2234
2235
3.65k
    return it;
2236
4.42k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
744
{
2220
744
    auto it = range.begin();
2221
4.69k
    while (it != range.end()) {
2222
4.52k
        const auto val =
2223
4.52k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
4.52k
        if (SCN_LIKELY(val.is_valid())) {
2225
4.52k
            const auto cp = detail::decode_code_point_exhaustive(
2226
4.52k
                std::basic_string_view<detail::char_t<Range>>{
2227
4.52k
                    val.codepoint.data(), val.codepoint.size()});
2228
4.52k
            if (pred(cp)) {
2229
576
                return it;
2230
576
            }
2231
4.52k
        }
2232
3.94k
        it = val.iterator;
2233
3.94k
    }
2234
2235
168
    return it;
2236
744
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
14.3k
{
2220
14.3k
    auto it = range.begin();
2221
49.3k
    while (it != range.end()) {
2222
46.3k
        const auto val =
2223
46.3k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
46.3k
        if (SCN_LIKELY(val.is_valid())) {
2225
46.3k
            const auto cp = detail::decode_code_point_exhaustive(
2226
46.3k
                std::basic_string_view<detail::char_t<Range>>{
2227
46.3k
                    val.codepoint.data(), val.codepoint.size()});
2228
46.3k
            if (pred(cp)) {
2229
11.3k
                return it;
2230
11.3k
            }
2231
46.3k
        }
2232
35.0k
        it = val.iterator;
2233
35.0k
    }
2234
2235
3.06k
    return it;
2236
14.3k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
450
{
2220
450
    auto it = range.begin();
2221
6.39k
    while (it != range.end()) {
2222
6.02k
        const auto val =
2223
6.02k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
6.02k
        if (SCN_LIKELY(val.is_valid())) {
2225
6.02k
            const auto cp = detail::decode_code_point_exhaustive(
2226
6.02k
                std::basic_string_view<detail::char_t<Range>>{
2227
6.02k
                    val.codepoint.data(), val.codepoint.size()});
2228
6.02k
            if (pred(cp)) {
2229
84
                return it;
2230
84
            }
2231
6.02k
        }
2232
5.94k
        it = val.iterator;
2233
5.94k
    }
2234
2235
366
    return it;
2236
450
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
2.20k
{
2220
2.20k
    auto it = range.begin();
2221
3.64k
    while (it != range.end()) {
2222
3.41k
        const auto val =
2223
3.41k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
3.41k
        if (SCN_LIKELY(val.is_valid())) {
2225
3.41k
            const auto cp = detail::decode_code_point_exhaustive(
2226
3.41k
                std::basic_string_view<detail::char_t<Range>>{
2227
3.41k
                    val.codepoint.data(), val.codepoint.size()});
2228
3.41k
            if (pred(cp)) {
2229
1.96k
                return it;
2230
1.96k
            }
2231
3.41k
        }
2232
1.44k
        it = val.iterator;
2233
1.44k
    }
2234
2235
238
    return it;
2236
2.20k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
1.20k
{
2220
1.20k
    auto it = range.begin();
2221
1.60k
    while (it != range.end()) {
2222
1.49k
        const auto val =
2223
1.49k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
1.49k
        if (SCN_LIKELY(val.is_valid())) {
2225
1.49k
            const auto cp = detail::decode_code_point_exhaustive(
2226
1.49k
                std::basic_string_view<detail::char_t<Range>>{
2227
1.49k
                    val.codepoint.data(), val.codepoint.size()});
2228
1.49k
            if (pred(cp)) {
2229
1.08k
                return it;
2230
1.08k
            }
2231
1.49k
        }
2232
406
        it = val.iterator;
2233
406
    }
2234
2235
116
    return it;
2236
1.20k
}
2237
2238
template <typename Range>
2239
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2240
    -> ranges::const_iterator_t<Range>
2241
22.7k
{
2242
22.7k
    return read_until_code_point(range, std::not_fn(pred));
2243
22.7k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
800
{
2242
800
    return read_until_code_point(range, std::not_fn(pred));
2243
800
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
2.13k
{
2242
2.13k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.13k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2241
4.42k
{
2242
4.42k
    return read_until_code_point(range, std::not_fn(pred));
2243
4.42k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
552
{
2242
552
    return read_until_code_point(range, std::not_fn(pred));
2243
552
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
11.4k
{
2242
11.4k
    return read_until_code_point(range, std::not_fn(pred));
2243
11.4k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
2.20k
{
2242
2.20k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.20k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
1.20k
{
2242
1.20k
    return read_until_code_point(range, std::not_fn(pred));
2243
1.20k
}
2244
2245
template <typename Range>
2246
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2247
6.98k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.90k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.90k
        auto buf = make_contiguous_buffer(range);
2252
2.90k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.90k
        return ranges::next(range.begin(),
2254
2.90k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
4.07k
    else {
2257
4.07k
        auto it = range.begin();
2258
2259
4.07k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
948
            auto seg = get_contiguous_beginning(range);
2261
948
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
948
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
948
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
948
        }
2267
2268
0
        return read_until_code_point(
2269
4.07k
            ranges::subrange{it, range.end()},
2270
40.7k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
10.7k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
6.02k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2270
22.1k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2270
1.80k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
4.07k
    }
2272
6.98k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
948
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
948
    else {
2257
948
        auto it = range.begin();
2258
2259
948
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
948
            auto seg = get_contiguous_beginning(range);
2261
948
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
948
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
948
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
948
        }
2267
2268
0
        return read_until_code_point(
2269
948
            ranges::subrange{it, range.end()},
2270
948
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
948
    }
2272
948
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.90k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.90k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.90k
        auto buf = make_contiguous_buffer(range);
2252
2.90k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.90k
        return ranges::next(range.begin(),
2254
2.90k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
    else {
2257
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
        return read_until_code_point(
2269
            ranges::subrange{it, range.end()},
2270
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
    }
2272
2.90k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
450
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
450
    else {
2257
450
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
450
        return read_until_code_point(
2269
450
            ranges::subrange{it, range.end()},
2270
450
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
450
    }
2272
450
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.61k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
2.61k
    else {
2257
2.61k
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
2.61k
        return read_until_code_point(
2269
2.61k
            ranges::subrange{it, range.end()},
2270
2.61k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
2.61k
    }
2272
2.61k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
_ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2247
70
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
70
    else {
2257
70
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
70
        return read_until_code_point(
2269
70
            ranges::subrange{it, range.end()},
2270
70
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
70
    }
2272
70
}
2273
2274
template <typename Range>
2275
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2276
43.5k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
23.4k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
23.4k
        auto buf = make_contiguous_buffer(range);
2281
23.4k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
23.4k
        return ranges::next(range.begin(),
2283
23.4k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
20.1k
    else {
2286
20.1k
        auto it = range.begin();
2287
2288
20.1k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.77k
            auto seg = get_contiguous_beginning(range);
2290
2.77k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.77k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.77k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.77k
        }
2296
2297
20.1k
        SCN_UNUSED(it);
2298
30.7k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
30.7k
            return detail::is_cp_space(cp);
2300
30.7k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
1.93k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.93k
            return detail::is_cp_space(cp);
2300
1.93k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2298
5.81k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
5.81k
            return detail::is_cp_space(cp);
2300
5.81k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
742
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
742
            return detail::is_cp_space(cp);
2300
742
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2298
17.3k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
17.3k
            return detail::is_cp_space(cp);
2300
17.3k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
3.41k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
3.41k
            return detail::is_cp_space(cp);
2300
3.41k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
1.49k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.49k
            return detail::is_cp_space(cp);
2300
1.49k
        });
2301
20.1k
    }
2302
43.5k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
566
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
566
    else {
2286
566
        auto it = range.begin();
2287
2288
566
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
566
            auto seg = get_contiguous_beginning(range);
2290
566
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
566
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
566
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
566
        }
2296
2297
566
        SCN_UNUSED(it);
2298
566
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
566
            return detail::is_cp_space(cp);
2300
566
        });
2301
566
    }
2302
566
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
15.1k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
15.1k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
15.1k
        auto buf = make_contiguous_buffer(range);
2281
15.1k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
15.1k
        return ranges::next(range.begin(),
2283
15.1k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
15.1k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
4.42k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
4.42k
    else {
2286
4.42k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
4.42k
        SCN_UNUSED(it);
2298
4.42k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
4.42k
            return detail::is_cp_space(cp);
2300
4.42k
        });
2301
4.42k
    }
2302
4.42k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
414
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
414
    else {
2286
414
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
414
        SCN_UNUSED(it);
2298
414
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
414
            return detail::is_cp_space(cp);
2300
414
        });
2301
414
    }
2302
414
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
11.2k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
11.2k
    else {
2286
11.2k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
11.2k
        SCN_UNUSED(it);
2298
11.2k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
11.2k
            return detail::is_cp_space(cp);
2300
11.2k
        });
2301
11.2k
    }
2302
11.2k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
8.23k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
8.23k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
8.23k
        auto buf = make_contiguous_buffer(range);
2281
8.23k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
8.23k
        return ranges::next(range.begin(),
2283
8.23k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
8.23k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
2.20k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
2.20k
    else {
2286
2.20k
        auto it = range.begin();
2287
2288
2.20k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.20k
            auto seg = get_contiguous_beginning(range);
2290
2.20k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.20k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.20k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.20k
        }
2296
2297
2.20k
        SCN_UNUSED(it);
2298
2.20k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
2.20k
            return detail::is_cp_space(cp);
2300
2.20k
        });
2301
2.20k
    }
2302
2.20k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
1.20k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
1.20k
    else {
2286
1.20k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
1.20k
        SCN_UNUSED(it);
2298
1.20k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.20k
            return detail::is_cp_space(cp);
2300
1.20k
        });
2301
1.20k
    }
2302
1.20k
}
2303
2304
template <typename Range>
2305
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2306
    -> parse_expected<ranges::const_iterator_t<Range>>
2307
4.95k
{
2308
4.95k
    auto it = read_code_unit(range);
2309
4.95k
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
4.95k
    if (SCN_UNLIKELY(*range.begin() !=
2314
4.95k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
4.84k
        return unexpected(parse_error::error);
2316
4.84k
    }
2317
2318
108
    return *it;
2319
4.95k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
40
{
2308
40
    auto it = read_code_unit(range);
2309
40
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
40
    if (SCN_UNLIKELY(*range.begin() !=
2314
40
                     static_cast<detail::char_t<Range>>(ch))) {
2315
40
        return unexpected(parse_error::error);
2316
40
    }
2317
2318
0
    return *it;
2319
40
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.89k
{
2308
1.89k
    auto it = read_code_unit(range);
2309
1.89k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.89k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.89k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.89k
        return unexpected(parse_error::error);
2316
1.89k
    }
2317
2318
0
    return *it;
2319
1.89k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
90
{
2308
90
    auto it = read_code_unit(range);
2309
90
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
82
    if (SCN_UNLIKELY(*range.begin() !=
2314
82
                     static_cast<detail::char_t<Range>>(ch))) {
2315
64
        return unexpected(parse_error::error);
2316
64
    }
2317
2318
18
    return *it;
2319
82
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.85k
{
2308
1.85k
    auto it = read_code_unit(range);
2309
1.85k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.85k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.85k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.78k
        return unexpected(parse_error::error);
2316
1.78k
    }
2317
2318
68
    return *it;
2319
1.85k
}
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
704
{
2308
704
    auto it = read_code_unit(range);
2309
704
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
704
    if (SCN_UNLIKELY(*range.begin() !=
2314
704
                     static_cast<detail::char_t<Range>>(ch))) {
2315
704
        return unexpected(parse_error::error);
2316
704
    }
2317
2318
0
    return *it;
2319
704
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
378
{
2308
378
    auto it = read_code_unit(range);
2309
378
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
378
    if (SCN_UNLIKELY(*range.begin() !=
2314
378
                     static_cast<detail::char_t<Range>>(ch))) {
2315
356
        return unexpected(parse_error::error);
2316
356
    }
2317
2318
22
    return *it;
2319
378
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2320
2321
template <typename Range>
2322
auto read_matching_code_point(Range range, char32_t cp)
2323
    -> parse_expected<ranges::const_iterator_t<Range>>
2324
{
2325
    auto val = read_code_point_into(range);
2326
    if (!val.is_valid()) {
2327
        return unexpected(parse_error::error);
2328
    }
2329
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2330
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2331
        return unexpected(parse_error::error);
2332
    }
2333
    return val.iterator;
2334
}
2335
2336
template <typename Range>
2337
auto read_matching_string(Range range,
2338
                          std::basic_string_view<detail::char_t<Range>> str)
2339
    -> parse_expected<ranges::const_iterator_t<Range>>
2340
100
{
2341
100
    SCN_TRY(it, read_exactly_n_code_units(
2342
64
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
64
                    .transform_error(make_eof_parse_error));
2344
2345
64
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
64
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
64
        return unexpected(parse_error::error);
2348
64
    }
2349
0
    return it;
2350
64
}
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
14
                    .transform_error(make_eof_parse_error));
2344
2345
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
14
        return unexpected(parse_error::error);
2348
14
    }
2349
0
    return it;
2350
14
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
20
{
2341
20
    SCN_TRY(it, read_exactly_n_code_units(
2342
18
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
18
                    .transform_error(make_eof_parse_error));
2344
2345
18
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
18
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
18
        return unexpected(parse_error::error);
2348
18
    }
2349
0
    return it;
2350
18
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
10
                    .transform_error(make_eof_parse_error));
2344
2345
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
10
        return unexpected(parse_error::error);
2348
10
    }
2349
0
    return it;
2350
10
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
24
{
2341
24
    SCN_TRY(it, read_exactly_n_code_units(
2342
22
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
22
                    .transform_error(make_eof_parse_error));
2344
2345
22
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
22
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
22
        return unexpected(parse_error::error);
2348
22
    }
2349
0
    return it;
2350
22
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2351
2352
template <typename Range>
2353
auto read_matching_string_classic(Range range, std::string_view str)
2354
    -> parse_expected<ranges::const_iterator_t<Range>>
2355
4.95k
{
2356
4.95k
    SCN_TRY(it, read_exactly_n_code_units(
2357
4.41k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
4.41k
                    .transform_error(make_eof_parse_error));
2359
2360
4.41k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
2.61k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
2.61k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
2.61k
            return unexpected(parse_error::error);
2364
2.61k
        }
2365
0
        return it;
2366
    }
2367
1.80k
    else {
2368
1.80k
        auto range_it = range.begin();
2369
1.80k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.80k
            if (SCN_UNLIKELY(*range_it !=
2371
1.80k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.80k
                return unexpected(parse_error::error);
2373
1.80k
            }
2374
1.80k
        }
2375
0
        return it;
2376
1.80k
    }
2377
4.41k
}
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
2.04k
{
2356
2.04k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.94k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.94k
                    .transform_error(make_eof_parse_error));
2359
2360
1.94k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
1.94k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
1.94k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
1.94k
            return unexpected(parse_error::error);
2364
1.94k
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
1.94k
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
836
{
2356
836
    SCN_TRY(it, read_exactly_n_code_units(
2357
666
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
666
                    .transform_error(make_eof_parse_error));
2359
2360
666
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
666
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
666
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
666
            return unexpected(parse_error::error);
2364
666
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
666
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
1.72k
{
2356
1.72k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.55k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.55k
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
1.55k
    else {
2368
1.55k
        auto range_it = range.begin();
2369
1.55k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.55k
            if (SCN_UNLIKELY(*range_it !=
2371
1.55k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.55k
                return unexpected(parse_error::error);
2373
1.55k
            }
2374
1.55k
        }
2375
0
        return it;
2376
1.55k
    }
2377
1.55k
}
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
348
{
2356
348
    SCN_TRY(it, read_exactly_n_code_units(
2357
244
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
244
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
244
    else {
2368
244
        auto range_it = range.begin();
2369
244
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
244
            if (SCN_UNLIKELY(*range_it !=
2371
244
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
244
                return unexpected(parse_error::error);
2373
244
            }
2374
244
        }
2375
0
        return it;
2376
244
    }
2377
244
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2378
2379
// Ripped from fast_float
2380
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2381
3.73k
{
2382
3.73k
    unsigned char running_diff{0};
2383
13.0k
    for (size_t i = 0; i < len; ++i) {
2384
9.31k
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2385
9.31k
    }
2386
3.73k
    return running_diff == 0 || running_diff == 32;
2387
3.73k
}
2388
2389
template <typename Range>
2390
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2391
    -> parse_expected<ranges::const_iterator_t<Range>>
2392
9.92k
{
2393
9.92k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.74k
                  std::is_same_v<char_type, char>) {
2397
3.74k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.73k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.73k
            return unexpected(parse_error::error);
2402
3.73k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
6.18k
    else {
2407
6.18k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
5.89k
            if (ch < 'A' || ch > 'Z') {
2409
5.89k
                return ch;
2410
5.89k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
5.89k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2407
1.22k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.22k
            if (ch < 'A' || ch > 'Z') {
2409
1.22k
                return ch;
2410
1.22k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
1.22k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
698
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
698
            if (ch < 'A' || ch > 'Z') {
2409
698
                return ch;
2410
698
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
698
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
3.97k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
3.97k
            if (ch < 'A' || ch > 'Z') {
2409
3.97k
                return ch;
2410
3.97k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
3.97k
        };
2414
2415
6.18k
        SCN_TRY(it, read_exactly_n_code_units(
2416
5.69k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
5.69k
                        .transform_error(make_eof_parse_error));
2418
2419
5.69k
        if (SCN_UNLIKELY(!std::equal(
2420
5.69k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
5.69k
                    return ascii_tolower(a) ==
2422
5.69k
                           static_cast<detail::char_t<Range>>(b);
2423
5.69k
                }))) {
2424
5.69k
            return unexpected(parse_error::error);
2425
5.69k
        }
2426
2427
0
        return it;
2428
5.69k
    }
2429
9.92k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
1.48k
{
2393
1.48k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
1.48k
    else {
2407
1.48k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.48k
            if (ch < 'A' || ch > 'Z') {
2409
1.48k
                return ch;
2410
1.48k
            }
2411
1.48k
            return static_cast<char_type>(ch +
2412
1.48k
                                          static_cast<char_type>('a' - 'A'));
2413
1.48k
        };
2414
2415
1.48k
        SCN_TRY(it, read_exactly_n_code_units(
2416
1.22k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
1.22k
                        .transform_error(make_eof_parse_error));
2418
2419
1.22k
        if (SCN_UNLIKELY(!std::equal(
2420
1.22k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
1.22k
                    return ascii_tolower(a) ==
2422
1.22k
                           static_cast<detail::char_t<Range>>(b);
2423
1.22k
                }))) {
2424
1.22k
            return unexpected(parse_error::error);
2425
1.22k
        }
2426
2427
0
        return it;
2428
1.22k
    }
2429
1.48k
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.74k
{
2393
3.74k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.74k
                  std::is_same_v<char_type, char>) {
2397
3.74k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.73k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.73k
            return unexpected(parse_error::error);
2402
3.73k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
    else {
2407
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
            if (ch < 'A' || ch > 'Z') {
2409
                return ch;
2410
            }
2411
            return static_cast<char_type>(ch +
2412
                                          static_cast<char_type>('a' - 'A'));
2413
        };
2414
2415
        SCN_TRY(it, read_exactly_n_code_units(
2416
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
                        .transform_error(make_eof_parse_error));
2418
2419
        if (SCN_UNLIKELY(!std::equal(
2420
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
                    return ascii_tolower(a) ==
2422
                           static_cast<detail::char_t<Range>>(b);
2423
                }))) {
2424
            return unexpected(parse_error::error);
2425
        }
2426
2427
        return it;
2428
    }
2429
3.74k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
878
{
2393
878
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
878
    else {
2407
878
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
878
            if (ch < 'A' || ch > 'Z') {
2409
878
                return ch;
2410
878
            }
2411
878
            return static_cast<char_type>(ch +
2412
878
                                          static_cast<char_type>('a' - 'A'));
2413
878
        };
2414
2415
878
        SCN_TRY(it, read_exactly_n_code_units(
2416
656
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
656
                        .transform_error(make_eof_parse_error));
2418
2419
656
        if (SCN_UNLIKELY(!std::equal(
2420
656
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
656
                    return ascii_tolower(a) ==
2422
656
                           static_cast<detail::char_t<Range>>(b);
2423
656
                }))) {
2424
656
            return unexpected(parse_error::error);
2425
656
        }
2426
2427
0
        return it;
2428
656
    }
2429
878
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.82k
{
2393
3.82k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
3.82k
    else {
2407
3.82k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
3.82k
            if (ch < 'A' || ch > 'Z') {
2409
3.82k
                return ch;
2410
3.82k
            }
2411
3.82k
            return static_cast<char_type>(ch +
2412
3.82k
                                          static_cast<char_type>('a' - 'A'));
2413
3.82k
        };
2414
2415
3.82k
        SCN_TRY(it, read_exactly_n_code_units(
2416
3.81k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
3.81k
                        .transform_error(make_eof_parse_error));
2418
2419
3.81k
        if (SCN_UNLIKELY(!std::equal(
2420
3.81k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
3.81k
                    return ascii_tolower(a) ==
2422
3.81k
                           static_cast<detail::char_t<Range>>(b);
2423
3.81k
                }))) {
2424
3.81k
            return unexpected(parse_error::error);
2425
3.81k
        }
2426
2427
0
        return it;
2428
3.81k
    }
2429
3.82k
}
2430
2431
template <typename Range>
2432
auto read_one_of_code_unit(Range range, std::string_view str)
2433
    -> parse_expected<ranges::const_iterator_t<Range>>
2434
9.57k
{
2435
9.57k
    auto it = read_code_unit(range);
2436
9.57k
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
19.1k
    for (auto ch : str) {
2441
19.1k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
19.1k
    }
2445
2446
9.57k
    return unexpected(parse_error::error);
2447
9.57k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
1.40k
{
2435
1.40k
    auto it = read_code_unit(range);
2436
1.40k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
2.80k
    for (auto ch : str) {
2441
2.80k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
2.80k
    }
2445
2446
1.40k
    return unexpected(parse_error::error);
2447
1.40k
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.69k
{
2435
3.69k
    auto it = read_code_unit(range);
2436
3.69k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.38k
    for (auto ch : str) {
2441
7.38k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.38k
    }
2445
2446
3.69k
    return unexpected(parse_error::error);
2447
3.69k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
778
{
2435
778
    auto it = read_code_unit(range);
2436
778
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
1.55k
    for (auto ch : str) {
2441
1.55k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
1.55k
    }
2445
2446
778
    return unexpected(parse_error::error);
2447
778
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.68k
{
2435
3.68k
    auto it = read_code_unit(range);
2436
3.68k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.36k
    for (auto ch : str) {
2441
7.36k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.36k
    }
2445
2446
3.68k
    return unexpected(parse_error::error);
2447
3.68k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2434
20
{
2435
20
    auto it = read_code_unit(range);
2436
20
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
28
    for (auto ch : str) {
2441
28
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
28
    }
2445
2446
14
    return unexpected(parse_error::error);
2447
14
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_S7_
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_NS4_IcNS5_IcEEEE
2448
2449
template <typename Range, template <class> class Expected, typename Iterator>
2450
auto apply_opt(Expected<Iterator>&& result, Range range)
2451
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2452
                        ranges::const_iterator_t<Range>>
2453
2.46k
{
2454
2.46k
    if (!result) {
2455
2.44k
        return range.begin();
2456
2.44k
    }
2457
12
    return *result;
2458
2.46k
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
356
{
2454
356
    if (!result) {
2455
356
        return range.begin();
2456
356
    }
2457
0
    return *result;
2458
356
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
940
{
2454
940
    if (!result) {
2455
940
        return range.begin();
2456
940
    }
2457
0
    return *result;
2458
940
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
212
{
2454
212
    if (!result) {
2455
206
        return range.begin();
2456
206
    }
2457
6
    return *result;
2458
212
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
952
{
2454
952
    if (!result) {
2455
946
        return range.begin();
2456
946
    }
2457
6
    return *result;
2458
952
}
2459
2460
/////////////////////////////////////////////////////////////////
2461
// Text width calculation
2462
/////////////////////////////////////////////////////////////////
2463
2464
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2465
161k
{
2466
161k
    if (cp >= 0x1100 &&
2467
161k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2468
40.4k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2469
40.4k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2470
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2471
40.4k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2472
40.4k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2473
40.4k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2474
40.4k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2475
40.4k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2476
40.4k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2477
40.4k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2478
40.4k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2479
40.4k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2480
         // Miscellaneous Symbols and Pictographs + Emoticons:
2481
40.4k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2482
         // Supplemental Symbols and Pictographs:
2483
40.4k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2484
4.07k
        return 2;
2485
4.07k
    }
2486
157k
    return 1;
2487
161k
}
2488
2489
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2490
103k
{
2491
103k
    return calculate_text_width_for_fmt_v10(cp);
2492
103k
}
2493
2494
template <typename CharT>
2495
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2496
{
2497
    size_t count{0};
2498
    for_each_code_point_valid(input, [&count](char32_t cp) {
2499
        count += calculate_text_width_for_fmt_v10(cp);
2500
    });
2501
    return count;
2502
}
2503
2504
constexpr std::size_t calculate_text_width(char32_t cp)
2505
250
{
2506
250
    return calculate_text_width_for_fmt_v10(cp);
2507
250
}
2508
2509
template <typename CharT>
2510
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2511
44.4k
{
2512
44.4k
    size_t count{0};
2513
57.5k
    for_each_code_point(input, [&count](char32_t cp) {
2514
57.5k
        count += calculate_text_width_for_fmt_v10(cp);
2515
57.5k
    });
scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
48.8k
    for_each_code_point(input, [&count](char32_t cp) {
2514
48.8k
        count += calculate_text_width_for_fmt_v10(cp);
2515
48.8k
    });
scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
8.73k
    for_each_code_point(input, [&count](char32_t cp) {
2514
8.73k
        count += calculate_text_width_for_fmt_v10(cp);
2515
8.73k
    });
2516
44.4k
    return count;
2517
44.4k
}
unsigned long scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2511
41.0k
{
2512
41.0k
    size_t count{0};
2513
41.0k
    for_each_code_point(input, [&count](char32_t cp) {
2514
41.0k
        count += calculate_text_width_for_fmt_v10(cp);
2515
41.0k
    });
2516
41.0k
    return count;
2517
41.0k
}
unsigned long scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2511
3.39k
{
2512
3.39k
    size_t count{0};
2513
3.39k
    for_each_code_point(input, [&count](char32_t cp) {
2514
3.39k
        count += calculate_text_width_for_fmt_v10(cp);
2515
3.39k
    });
2516
3.39k
    return count;
2517
3.39k
}
2518
2519
namespace counted_width_iterator_impl {
2520
template <typename It, typename S>
2521
class counted_width_iterator {
2522
    static_assert(ranges::forward_iterator<It>);
2523
    static_assert(ranges::sentinel_for<S, It>);
2524
2525
    template <typename OtherIt, typename OtherS>
2526
    friend class counted_width_iterator;
2527
2528
public:
2529
    using iterator = It;
2530
    using sentinel = S;
2531
    using value_type = ranges::iter_value_t<It>;
2532
    using pointer = value_type*;
2533
    using reference = value_type&;
2534
    using difference_type = ranges::iter_difference_t<It>;
2535
    using iterator_category =
2536
        std::conditional_t<ranges::bidirectional_iterator<It>,
2537
                           std::bidirectional_iterator_tag,
2538
                           std::forward_iterator_tag>;
2539
2540
    constexpr counted_width_iterator() = default;
2541
2542
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2543
47.9k
        : m_current(x), m_end(s), m_count(n)
2544
47.9k
    {
2545
47.9k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2543
5.66k
        : m_current(x), m_end(s), m_count(n)
2544
5.66k
    {
2545
5.66k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2543
2.92k
        : m_current(x), m_end(s), m_count(n)
2544
2.92k
    {
2545
2.92k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2543
25.7k
        : m_current(x), m_end(s), m_count(n)
2544
25.7k
    {
2545
25.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2543
13.5k
        : m_current(x), m_end(s), m_count(n)
2544
13.5k
    {
2545
13.5k
    }
2546
2547
    template <typename OtherIt,
2548
              typename OtherS,
2549
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2550
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2551
    constexpr counted_width_iterator(
2552
        const counted_width_iterator<OtherIt, OtherS>& other)
2553
        : m_current(other.m_current),
2554
          m_end(other.m_end),
2555
          m_count(other.m_count),
2556
          m_multibyte_left(other.m_multibyte_left)
2557
    {
2558
    }
2559
2560
    template <typename OtherIt, typename OtherS>
2561
    constexpr auto operator=(
2562
        const counted_width_iterator<OtherIt, OtherS>& other)
2563
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2564
                                std::is_convertible_v<OtherS, S>,
2565
                            counted_width_iterator&>
2566
    {
2567
        m_current = other.m_current;
2568
        m_end = other.m_end;
2569
        m_count = other.m_count;
2570
        m_multibyte_left = other.m_multibyte_left;
2571
        return *this;
2572
    }
2573
2574
    constexpr It base() const
2575
231k
    {
2576
231k
        return m_current;
2577
231k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2575
157k
    {
2576
157k
        return m_current;
2577
157k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2575
47.4k
    {
2576
47.4k
        return m_current;
2577
47.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
20.3k
    {
2576
20.3k
        return m_current;
2577
20.3k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
6.45k
    {
2576
6.45k
        return m_current;
2577
6.45k
    }
2578
    constexpr difference_type count() const
2579
451k
    {
2580
451k
        return m_count;
2581
451k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2579
308k
    {
2580
308k
        return m_count;
2581
308k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2579
90.8k
    {
2580
90.8k
        return m_count;
2581
90.8k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
39.6k
    {
2580
39.6k
        return m_count;
2581
39.6k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
12.1k
    {
2580
12.1k
        return m_count;
2581
12.1k
    }
2582
    constexpr difference_type multibyte_left() const
2583
34.9k
    {
2584
34.9k
        return m_multibyte_left;
2585
34.9k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2583
26.4k
    {
2584
26.4k
        return m_multibyte_left;
2585
26.4k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2583
4.32k
    {
2584
4.32k
        return m_multibyte_left;
2585
4.32k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
3.33k
    {
2584
3.33k
        return m_multibyte_left;
2585
3.33k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
890
    {
2584
890
        return m_multibyte_left;
2585
890
    }
2586
2587
    bool is_current_double_wide() const
2588
14.3k
    {
2589
14.3k
        assert(count() != 0 || multibyte_left() != 0);
2590
14.3k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
14.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::is_current_double_wide() const
Line
Count
Source
2588
8.66k
    {
2589
8.66k
        assert(count() != 0 || multibyte_left() != 0);
2590
8.66k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
8.66k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::is_current_double_wide() const
Line
Count
Source
2588
3.53k
    {
2589
3.53k
        assert(count() != 0 || multibyte_left() != 0);
2590
3.53k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
3.53k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
1.55k
    {
2589
1.55k
        assert(count() != 0 || multibyte_left() != 0);
2590
1.55k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
1.55k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
624
    {
2589
624
        assert(count() != 0 || multibyte_left() != 0);
2590
624
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
624
    }
2592
2593
    constexpr decltype(auto) operator*()
2594
197k
    {
2595
197k
        return *m_current;
2596
197k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2594
138k
    {
2595
138k
        return *m_current;
2596
138k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2594
44.2k
    {
2595
44.2k
        return *m_current;
2596
44.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
11.5k
    {
2595
11.5k
        return *m_current;
2596
11.5k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
3.76k
    {
2595
3.76k
        return *m_current;
2596
3.76k
    }
2597
    constexpr decltype(auto) operator*() const
2598
19.6k
    {
2599
19.6k
        return *m_current;
2600
19.6k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2598
14.8k
    {
2599
14.8k
        return *m_current;
2600
14.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2598
4.82k
    {
2599
4.82k
        return *m_current;
2600
4.82k
    }
2601
2602
    constexpr counted_width_iterator& operator++()
2603
216k
    {
2604
216k
        SCN_EXPECT(m_current != m_end);
2605
216k
        _increment_current();
2606
216k
        return *this;
2607
216k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2603
165k
    {
2604
165k
        SCN_EXPECT(m_current != m_end);
2605
165k
        _increment_current();
2606
165k
        return *this;
2607
165k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2603
32.9k
    {
2604
32.9k
        SCN_EXPECT(m_current != m_end);
2605
32.9k
        _increment_current();
2606
32.9k
        return *this;
2607
32.9k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
15.7k
    {
2604
15.7k
        SCN_EXPECT(m_current != m_end);
2605
15.7k
        _increment_current();
2606
15.7k
        return *this;
2607
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
1.79k
    {
2604
1.79k
        SCN_EXPECT(m_current != m_end);
2605
1.79k
        _increment_current();
2606
1.79k
        return *this;
2607
1.79k
    }
2608
2609
    constexpr counted_width_iterator operator++(int)
2610
    {
2611
        auto tmp = *this;
2612
        ++*this;
2613
        return tmp;
2614
    }
2615
2616
    template <typename Iter = It>
2617
    constexpr auto operator--()
2618
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2619
                            counted_width_iterator&>
2620
0
    {
2621
0
        _decrement_current();
2622
0
        return *this;
2623
0
    }
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2624
2625
    template <typename Iter = It>
2626
    constexpr auto operator--(int)
2627
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2628
                            counted_width_iterator>
2629
    {
2630
        auto tmp = *this;
2631
        --*this;
2632
        return tmp;
2633
    }
2634
2635
    // TODO: optimize, make better than forward, if possible
2636
#if 0
2637
                template <typename Iter = It>
2638
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2639
                    ranges_std::random_access_iterator<Iter>,
2640
                    counted_width_iterator>
2641
                {
2642
                    // TODO
2643
                    return counted_width_iterator(m_current + n, m_count - n);
2644
                }
2645
2646
                template <typename Iter = It,
2647
                          std::enable_if_t<ranges_std::random_access_iterator<
2648
                              Iter>>* = nullptr>
2649
                friend constexpr counted_width_iterator operator+(
2650
                    ranges_std::iter_difference_t<Iter> n,
2651
                    const counted_width_iterator<Iter>& x)
2652
                {
2653
                    return x + n;
2654
                }
2655
2656
                template <typename Iter = It>
2657
                constexpr auto operator+=(difference_type n)
2658
                    -> std::enable_if_t<
2659
                        ranges_std::random_access_iterator<Iter>,
2660
                        counted_width_iterator&>
2661
                {
2662
                    // TODO
2663
                    m_current += n;
2664
                    m_count -= n;
2665
                    return *this;
2666
                }
2667
2668
                template <typename Iter = It>
2669
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2670
                    ranges_std::random_access_iterator<Iter>,
2671
                    counted_width_iterator>
2672
                {
2673
                    // TODO
2674
                    return counted_width_iterator(m_current - n, m_count + n);
2675
                }
2676
2677
                template <typename Iter = It,
2678
                          std::enable_if_t<ranges_std::random_access_iterator<
2679
                              Iter>>* = nullptr>
2680
                constexpr decltype(auto) operator[](difference_type n) const
2681
                {
2682
                    return m_current[n];
2683
                }
2684
#endif
2685
2686
    template <typename OtherIt, typename OtherS>
2687
    friend constexpr auto operator==(
2688
        const counted_width_iterator& a,
2689
        const counted_width_iterator<OtherIt, OtherS>& b)
2690
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2691
132k
    {
2692
132k
        return a.m_current == b.m_current;
2693
132k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
109k
    {
2692
109k
        return a.m_current == b.m_current;
2693
109k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
12.9k
    {
2692
12.9k
        return a.m_current == b.m_current;
2693
12.9k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
9.70k
    {
2692
9.70k
        return a.m_current == b.m_current;
2693
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2694
    template <typename OtherIt, typename OtherS>
2695
    friend constexpr auto operator!=(
2696
        const counted_width_iterator& a,
2697
        const counted_width_iterator<OtherIt, OtherS>& b)
2698
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2699
119k
    {
2700
119k
        return !(a == b);
2701
119k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
97.8k
    {
2700
97.8k
        return !(a == b);
2701
97.8k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
11.6k
    {
2700
11.6k
        return !(a == b);
2701
11.6k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
9.70k
    {
2700
9.70k
        return !(a == b);
2701
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2702
2703
    friend constexpr bool operator==(const counted_width_iterator& x,
2704
                                     ranges::default_sentinel_t)
2705
    {
2706
        return (x.count() == 0 && x.multibyte_left() == 0) ||
2707
               (x.count() == 1 && x.multibyte_left() == 0 &&
2708
                x.is_current_double_wide());
2709
    }
2710
    friend constexpr bool operator==(ranges::default_sentinel_t s,
2711
                                     const counted_width_iterator& x)
2712
    {
2713
        return x == s;
2714
    }
2715
2716
    friend constexpr bool operator!=(const counted_width_iterator& a,
2717
                                     ranges::default_sentinel_t b)
2718
    {
2719
        return !(a == b);
2720
    }
2721
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2722
                                     const counted_width_iterator& b)
2723
    {
2724
        return !(a == b);
2725
    }
2726
2727
    template <typename OtherIt, typename OtherS>
2728
    friend constexpr auto operator<(
2729
        const counted_width_iterator& a,
2730
        const counted_width_iterator<OtherIt, OtherS>& b)
2731
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2732
    {
2733
        if (a.count() == b.count()) {
2734
            return a.multibyte_left() > b.multibyte_left();
2735
        }
2736
2737
        return a.count() > b.count();
2738
    }
2739
2740
    template <typename OtherIt, typename OtherS>
2741
    friend constexpr auto operator>(
2742
        const counted_width_iterator& a,
2743
        const counted_width_iterator<OtherIt, OtherS>& b)
2744
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2745
    {
2746
        return !(b < a);
2747
    }
2748
2749
    template <typename OtherIt, typename OtherS>
2750
    friend constexpr auto operator<=(
2751
        const counted_width_iterator& a,
2752
        const counted_width_iterator<OtherIt, OtherS>& b)
2753
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2754
    {
2755
        return !(b < a);
2756
    }
2757
2758
    template <typename OtherIt, typename OtherS>
2759
    friend constexpr auto operator>=(
2760
        const counted_width_iterator& a,
2761
        const counted_width_iterator<OtherIt, OtherS>& b)
2762
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2763
    {
2764
        return !(a < b);
2765
    }
2766
2767
#if 0
2768
                template <typename OtherIt, typename OtherS>
2769
                friend constexpr auto operator-(
2770
                    const counted_width_iterator& a,
2771
                    const counted_width_iterator<OtherIt, OtherS>& b)
2772
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2773
                                        ranges_std::iter_difference_t<OtherIt>>
2774
                {
2775
                    // TODO
2776
                }
2777
2778
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2779
                    const counted_width_iterator& x,
2780
                    ranges_std::default_sentinel_t)
2781
                {
2782
                    // TODO
2783
                }
2784
2785
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2786
                    ranges_std::default_sentinel_t,
2787
                    const counted_width_iterator& x)
2788
                {
2789
                    // TODO
2790
                }
2791
#endif
2792
2793
#if 0
2794
                template <typename Iter = It>
2795
                constexpr auto operator-=(difference_type n)
2796
                    -> std::enable_if_t<
2797
                        ranges_std::random_access_iterator<Iter>,
2798
                        counted_width_iterator&>
2799
                {
2800
                    // TODO
2801
                    m_current -= n;
2802
                    m_count += n;
2803
                    return *this;
2804
                }
2805
#endif
2806
2807
private:
2808
    difference_type _get_cp_length_at_current() const
2809
144k
    {
2810
144k
        return static_cast<difference_type>(
2811
144k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
144k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
95.8k
    {
2810
95.8k
        return static_cast<difference_type>(
2811
95.8k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
95.8k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
36.5k
    {
2810
36.5k
        return static_cast<difference_type>(
2811
36.5k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
36.5k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
9.90k
    {
2810
9.90k
        return static_cast<difference_type>(
2811
9.90k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
9.90k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
2.41k
    {
2810
2.41k
        return static_cast<difference_type>(
2811
2.41k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
2.41k
    }
2813
2814
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2815
144k
    {
2816
144k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.47k
            return 0;
2818
1.47k
        }
2819
2820
143k
        if (cplen == 1) {
2821
103k
            SCN_EXPECT(m_current != m_end);
2822
103k
            auto cp = static_cast<char32_t>(*m_current);
2823
103k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
103k
        }
2825
2826
39.2k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
39.2k
                                           cplen);
2828
39.2k
        if (SCN_UNLIKELY(!r)) {
2829
444
            return 0;
2830
444
        }
2831
2832
38.8k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
38.8k
        return static_cast<difference_type>(calculate_text_width(
2834
38.8k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
39.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
95.8k
    {
2816
95.8k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.47k
            return 0;
2818
1.47k
        }
2819
2820
94.3k
        if (cplen == 1) {
2821
60.0k
            SCN_EXPECT(m_current != m_end);
2822
60.0k
            auto cp = static_cast<char32_t>(*m_current);
2823
60.0k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
60.0k
        }
2825
2826
34.3k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
34.3k
                                           cplen);
2828
34.3k
        if (SCN_UNLIKELY(!r)) {
2829
444
            return 0;
2830
444
        }
2831
2832
33.8k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
33.8k
        return static_cast<difference_type>(calculate_text_width(
2834
33.8k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
34.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
36.5k
    {
2816
36.5k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
36.5k
        if (cplen == 1) {
2821
36.5k
            SCN_EXPECT(m_current != m_end);
2822
36.5k
            auto cp = static_cast<char32_t>(*m_current);
2823
36.5k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
36.5k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
9.90k
    {
2816
9.90k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
9.90k
        if (cplen == 1) {
2821
4.92k
            SCN_EXPECT(m_current != m_end);
2822
4.92k
            auto cp = static_cast<char32_t>(*m_current);
2823
4.92k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
4.92k
        }
2825
2826
4.98k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
4.98k
                                           cplen);
2828
4.98k
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
4.98k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
4.98k
        return static_cast<difference_type>(calculate_text_width(
2834
4.98k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
4.98k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
2.41k
    {
2816
2.41k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
2.41k
        if (cplen == 1) {
2821
2.41k
            SCN_EXPECT(m_current != m_end);
2822
2.41k
            auto cp = static_cast<char32_t>(*m_current);
2823
2.41k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
2.41k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
2836
2837
    void _increment_current()
2838
216k
    {
2839
216k
        if (m_multibyte_left == 0) {
2840
130k
            auto cplen = _get_cp_length_at_current();
2841
130k
            m_multibyte_left = cplen - 1;
2842
130k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
130k
        }
2844
85.7k
        else {
2845
85.7k
            --m_multibyte_left;
2846
85.7k
        }
2847
2848
216k
        ++m_current;
2849
216k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2838
165k
    {
2839
165k
        if (m_multibyte_left == 0) {
2840
87.1k
            auto cplen = _get_cp_length_at_current();
2841
87.1k
            m_multibyte_left = cplen - 1;
2842
87.1k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
87.1k
        }
2844
78.3k
        else {
2845
78.3k
            --m_multibyte_left;
2846
78.3k
        }
2847
2848
165k
        ++m_current;
2849
165k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2838
32.9k
    {
2839
32.9k
        if (m_multibyte_left == 0) {
2840
32.9k
            auto cplen = _get_cp_length_at_current();
2841
32.9k
            m_multibyte_left = cplen - 1;
2842
32.9k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
32.9k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
32.9k
        ++m_current;
2849
32.9k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
15.7k
    {
2839
15.7k
        if (m_multibyte_left == 0) {
2840
8.35k
            auto cplen = _get_cp_length_at_current();
2841
8.35k
            m_multibyte_left = cplen - 1;
2842
8.35k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
8.35k
        }
2844
7.39k
        else {
2845
7.39k
            --m_multibyte_left;
2846
7.39k
        }
2847
2848
15.7k
        ++m_current;
2849
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
1.79k
    {
2839
1.79k
        if (m_multibyte_left == 0) {
2840
1.79k
            auto cplen = _get_cp_length_at_current();
2841
1.79k
            m_multibyte_left = cplen - 1;
2842
1.79k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
1.79k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
1.79k
        ++m_current;
2849
1.79k
    }
2850
2851
    void _decrement_current()
2852
0
    {
2853
0
        --m_current;
2854
2855
0
        auto cplen = _get_cp_length_at_current();
2856
0
        if (cplen == 0) {
2857
0
            ++m_multibyte_left;
2858
0
        }
2859
0
        else {
2860
0
            m_count += _get_width_at_current_cp_start(cplen);
2861
0
            m_multibyte_left = cplen - 1;
2862
0
        }
2863
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2864
2865
    It m_current{};
2866
    S m_end{};
2867
    difference_type m_count{0};
2868
    difference_type m_multibyte_left{0};
2869
};
2870
2871
template <typename I, typename S>
2872
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2873
    -> counted_width_iterator<I, S>;
2874
}  // namespace counted_width_iterator_impl
2875
2876
using counted_width_iterator_impl::counted_width_iterator;
2877
2878
template <typename View, typename = void>
2879
struct take_width_view_storage;
2880
2881
template <typename View>
2882
struct take_width_view_storage<View,
2883
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2884
21.1k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2884
10.6k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2884
5.38k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2884
3.46k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2884
1.72k
    take_width_view_storage(const View& v) : view(v) {}
2885
2886
    const View& get() const
2887
214k
    {
2888
214k
        return view;
2889
214k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2887
125k
    {
2888
125k
        return view;
2889
125k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2887
54.5k
    {
2888
54.5k
        return view;
2889
54.5k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2887
24.0k
    {
2888
24.0k
        return view;
2889
24.0k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2887
10.9k
    {
2888
10.9k
        return view;
2889
10.9k
    }
2890
2891
    View view;
2892
};
2893
2894
template <typename View>
2895
struct take_width_view_storage<
2896
    View,
2897
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2898
    take_width_view_storage(const View& v) : view(&v) {}
2899
2900
    const View& get() const
2901
    {
2902
        return *view;
2903
    }
2904
2905
    const View* view;
2906
};
2907
2908
template <typename View>
2909
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2910
    template <bool IsConst>
2911
    class sentinel {
2912
        friend class sentinel<!IsConst>;
2913
        using Base = std::conditional_t<IsConst, const View, View>;
2914
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2915
                                           ranges::sentinel_t<Base>>;
2916
        using underlying = ranges::sentinel_t<Base>;
2917
2918
    public:
2919
        constexpr sentinel() = default;
2920
2921
118k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2921
12.6k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2921
5.11k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2921
73.5k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2921
27.3k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2922
2923
        template <
2924
            typename S,
2925
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2926
            bool C = IsConst,
2927
            typename VV = View,
2928
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2929
                                                        underlying>>* = nullptr>
2930
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2931
        {
2932
        }
2933
2934
        constexpr underlying base() const
2935
        {
2936
            return m_end;
2937
        }
2938
2939
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2940
216k
        {
2941
216k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
216k
                   y.base() == x.m_end ||
2943
216k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
211k
                    y.is_current_double_wide());
2945
216k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2940
149k
        {
2941
149k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
149k
                   y.base() == x.m_end ||
2943
149k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
147k
                    y.is_current_double_wide());
2945
149k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2940
43.3k
        {
2941
43.3k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
43.3k
                   y.base() == x.m_end ||
2943
43.3k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
42.2k
                    y.is_current_double_wide());
2945
43.3k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2940
17.7k
        {
2941
17.7k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
17.7k
                   y.base() == x.m_end ||
2943
17.7k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
17.0k
                    y.is_current_double_wide());
2945
17.7k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2940
5.11k
        {
2941
5.11k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
5.11k
                   y.base() == x.m_end ||
2943
5.11k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
4.85k
                    y.is_current_double_wide());
2945
5.11k
        }
2946
2947
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2948
        {
2949
            return y == x;
2950
        }
2951
2952
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2953
109k
        {
2954
109k
            return !(y == x);
2955
109k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2953
76.2k
        {
2954
76.2k
            return !(y == x);
2955
76.2k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2953
22.3k
        {
2954
22.3k
            return !(y == x);
2955
22.3k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2953
8.18k
        {
2954
8.18k
            return !(y == x);
2955
8.18k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2953
2.42k
        {
2954
2.42k
            return !(y == x);
2955
2.42k
        }
2956
2957
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2958
        {
2959
            return !(y == x);
2960
        }
2961
2962
    private:
2963
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2964
    };
2965
2966
public:
2967
    using value_type = ranges::range_value_t<View>;
2968
2969
    take_width_view() = default;
2970
2971
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2972
21.1k
        : m_base(base), m_count(count)
2973
21.1k
    {
2974
21.1k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2972
10.6k
        : m_base(base), m_count(count)
2973
10.6k
    {
2974
10.6k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2972
5.38k
        : m_base(base), m_count(count)
2973
5.38k
    {
2974
5.38k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2972
3.46k
        : m_base(base), m_count(count)
2973
3.46k
    {
2974
3.46k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2972
1.72k
        : m_base(base), m_count(count)
2973
1.72k
    {
2974
1.72k
    }
2975
2976
    constexpr View base() const
2977
    {
2978
        return m_base;
2979
    }
2980
2981
    constexpr auto begin() const
2982
47.9k
    {
2983
47.9k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
47.9k
                                      m_count};
2985
47.9k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2982
25.7k
    {
2983
25.7k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
25.7k
                                      m_count};
2985
25.7k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2982
13.5k
    {
2983
13.5k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
13.5k
                                      m_count};
2985
13.5k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2982
5.66k
    {
2983
5.66k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
5.66k
                                      m_count};
2985
5.66k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2982
2.92k
    {
2983
2.92k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
2.92k
                                      m_count};
2985
2.92k
    }
2986
2987
    constexpr auto end() const
2988
118k
    {
2989
118k
        return sentinel<true>{m_base.get().end()};
2990
118k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2988
73.5k
    {
2989
73.5k
        return sentinel<true>{m_base.get().end()};
2990
73.5k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2988
27.3k
    {
2989
27.3k
        return sentinel<true>{m_base.get().end()};
2990
27.3k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2988
12.6k
    {
2989
12.6k
        return sentinel<true>{m_base.get().end()};
2990
12.6k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2988
5.11k
    {
2989
5.11k
        return sentinel<true>{m_base.get().end()};
2990
5.11k
    }
2991
2992
private:
2993
    take_width_view_storage<View> m_base{};
2994
    std::ptrdiff_t m_count{0};
2995
};
2996
2997
template <typename R>
2998
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2999
3000
struct _take_width_fn {
3001
    template <typename R>
3002
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
3003
        -> decltype(take_width_view{r, n})
3004
21.1k
    {
3005
21.1k
        return take_width_view{r, n};
3006
21.1k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
3004
10.6k
    {
3005
10.6k
        return take_width_view{r, n};
3006
10.6k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
3004
5.38k
    {
3005
5.38k
        return take_width_view{r, n};
3006
5.38k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
3004
3.46k
    {
3005
3.46k
        return take_width_view{r, n};
3006
3.46k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
3004
1.72k
    {
3005
1.72k
        return take_width_view{r, n};
3006
1.72k
    }
3007
};
3008
3009
inline constexpr _take_width_fn take_width{};
3010
}  // namespace impl
3011
3012
namespace ranges {
3013
template <typename R>
3014
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
3015
    enable_borrowed_range<R>;
3016
}
3017
3018
/////////////////////////////////////////////////////////////////
3019
// contiguous_scan_context
3020
/////////////////////////////////////////////////////////////////
3021
3022
template <typename CharT>
3023
class basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>
3024
    : public detail::scan_context_base<basic_scan_args<
3025
          basic_scan_context<detail::buffer_range_tag, CharT>>> {
3026
    using base = detail::scan_context_base<
3027
        basic_scan_args<basic_scan_context<detail::buffer_range_tag, CharT>>>;
3028
3029
    using parent_context_type =
3030
        basic_scan_context<detail::buffer_range_tag, CharT>;
3031
    using args_type = basic_scan_args<parent_context_type>;
3032
    using arg_type = basic_scan_arg<parent_context_type>;
3033
3034
public:
3035
    using char_type = CharT;
3036
    using range_type = ranges::subrange<const char_type*, const char_type*>;
3037
    using iterator = const char_type*;
3038
    using sentinel = const char_type*;
3039
    using parse_context_type = basic_scan_parse_context<char_type>;
3040
3041
    template <typename Range,
3042
              std::enable_if_t<ranges::contiguous_range<Range> &&
3043
                               ranges::borrowed_range<Range>>* = nullptr>
3044
    constexpr basic_scan_context(Range&& r,
3045
                                 args_type a,
3046
                                 detail::locale_ref loc = {})
3047
150k
        : base(SCN_MOVE(a), loc),
3048
150k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
150k
          m_current(m_range.begin())
3050
150k
    {
3051
150k
    }
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2INSt3__117basic_string_viewIcNSB_11char_traitsIcEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSO_10locale_refE
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2INSt3__117basic_string_viewIwNSB_11char_traitsIwEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSO_10locale_refE
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSL_10locale_refE
Line
Count
Source
3047
50.1k
        : base(SCN_MOVE(a), loc),
3048
50.1k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
50.1k
          m_current(m_range.begin())
3050
50.1k
    {
3051
50.1k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSL_10locale_refE
Line
Count
Source
3047
100k
        : base(SCN_MOVE(a), loc),
3048
100k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
100k
          m_current(m_range.begin())
3050
100k
    {
3051
100k
    }
3052
3053
    constexpr iterator begin() const
3054
205M
    {
3055
205M
        return m_current;
3056
205M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin() const
Line
Count
Source
3054
128k
    {
3055
128k
        return m_current;
3056
128k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin() const
Line
Count
Source
3054
205M
    {
3055
205M
        return m_current;
3056
205M
    }
3057
3058
    constexpr sentinel end() const
3059
411M
    {
3060
411M
        return m_range.end();
3061
411M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::end() const
Line
Count
Source
3059
117k
    {
3060
117k
        return m_range.end();
3061
117k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::end() const
Line
Count
Source
3059
411M
    {
3060
411M
        return m_range.end();
3061
411M
    }
3062
3063
    constexpr auto range() const
3064
55.7k
    {
3065
55.7k
        return ranges::subrange{begin(), end()};
3066
55.7k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::range() const
Line
Count
Source
3064
35.4k
    {
3065
35.4k
        return ranges::subrange{begin(), end()};
3066
35.4k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::range() const
Line
Count
Source
3064
20.2k
    {
3065
20.2k
        return ranges::subrange{begin(), end()};
3066
20.2k
    }
3067
3068
    constexpr auto underlying_range() const
3069
0
    {
3070
0
        return m_range;
3071
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::underlying_range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::underlying_range() const
3072
3073
    void advance_to(iterator it)
3074
205M
    {
3075
205M
        SCN_EXPECT(it <= end());
3076
205M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
205M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
205M
        }
3081
205M
        m_current = SCN_MOVE(it);
3082
205M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(char const*)
Line
Count
Source
3074
41.9k
    {
3075
41.9k
        SCN_EXPECT(it <= end());
3076
41.9k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
41.9k
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
41.9k
        }
3081
41.9k
        m_current = SCN_MOVE(it);
3082
41.9k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
3074
205M
    {
3075
205M
        SCN_EXPECT(it <= end());
3076
205M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
205M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
205M
        }
3081
205M
        m_current = SCN_MOVE(it);
3082
205M
    }
3083
3084
    void advance_to(const typename parent_context_type::iterator& it)
3085
0
    {
3086
0
        SCN_EXPECT(it.position() <=
3087
0
                   static_cast<std::ptrdiff_t>(m_range.size()));
3088
0
        m_current = m_range.begin() + it.position();
3089
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
3090
3091
    std::ptrdiff_t begin_position()
3092
0
    {
3093
0
        return ranges::distance(m_range.begin(), begin());
3094
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin_position()
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin_position()
3095
3096
private:
3097
    range_type m_range;
3098
    iterator m_current;
3099
};
3100
3101
namespace impl {
3102
template <typename CharT>
3103
using basic_contiguous_scan_context =
3104
    basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>;
3105
3106
struct reader_error_handler {
3107
    constexpr void on_error(const char* msg)
3108
14.7k
    {
3109
14.7k
        SCN_UNLIKELY_ATTR
3110
14.7k
        m_msg = msg;
3111
14.7k
    }
3112
    explicit constexpr operator bool() const
3113
32.4k
    {
3114
32.4k
        return m_msg == nullptr;
3115
32.4k
    }
3116
3117
    const char* m_msg{nullptr};
3118
};
3119
3120
/////////////////////////////////////////////////////////////////
3121
// General reading support
3122
/////////////////////////////////////////////////////////////////
3123
3124
template <typename SourceRange>
3125
auto skip_classic_whitespace(const SourceRange& range,
3126
                             bool allow_exhaustion = false)
3127
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
3128
18.1k
{
3129
18.1k
    if (!allow_exhaustion) {
3130
16.6k
        auto it = read_while_classic_space(range);
3131
16.6k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
16.6k
            SCN_UNLIKELY(!e)) {
3133
354
            return unexpected(e);
3134
354
        }
3135
3136
16.3k
        return it;
3137
16.6k
    }
3138
3139
1.51k
    return read_while_classic_space(range);
3140
18.1k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
566
{
3129
566
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
566
    return read_while_classic_space(range);
3140
566
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
6.93k
{
3129
6.93k
    if (!allow_exhaustion) {
3130
6.77k
        auto it = read_while_classic_space(range);
3131
6.77k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.77k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.77k
        return it;
3137
6.77k
    }
3138
3139
160
    return read_while_classic_space(range);
3140
6.93k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
414
{
3129
414
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
414
    return read_while_classic_space(range);
3140
414
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
6.86k
{
3129
6.86k
    if (!allow_exhaustion) {
3130
6.48k
        auto it = read_while_classic_space(range);
3131
6.48k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.48k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.48k
        return it;
3137
6.48k
    }
3138
3139
374
    return read_while_classic_space(range);
3140
6.86k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
2.20k
{
3129
2.20k
    if (!allow_exhaustion) {
3130
2.20k
        auto it = read_while_classic_space(range);
3131
2.20k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
2.20k
            SCN_UNLIKELY(!e)) {
3133
238
            return unexpected(e);
3134
238
        }
3135
3136
1.96k
        return it;
3137
2.20k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
2.20k
}
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
1.20k
{
3129
1.20k
    if (!allow_exhaustion) {
3130
1.20k
        auto it = read_while_classic_space(range);
3131
1.20k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
1.20k
            SCN_UNLIKELY(!e)) {
3133
116
            return unexpected(e);
3134
116
        }
3135
3136
1.08k
        return it;
3137
1.20k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
1.20k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
3141
3142
template <typename SourceCharT, typename DestCharT>
3143
scan_expected<void> transcode_impl(std::basic_string_view<SourceCharT> src,
3144
                                   std::basic_string<DestCharT>& dst)
3145
2.74k
{
3146
2.74k
    dst.clear();
3147
2.74k
    transcode_valid_to_string(src, dst);
3148
2.74k
    return {};
3149
2.74k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3145
1.62k
{
3146
1.62k
    dst.clear();
3147
1.62k
    transcode_valid_to_string(src, dst);
3148
1.62k
    return {};
3149
1.62k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3145
1.12k
{
3146
1.12k
    dst.clear();
3147
1.12k
    transcode_valid_to_string(src, dst);
3148
1.12k
    return {};
3149
1.12k
}
3150
3151
template <typename SourceCharT, typename DestCharT>
3152
scan_expected<void> transcode_if_necessary(
3153
    const contiguous_range_factory<SourceCharT>& source,
3154
    std::basic_string<DestCharT>& dest)
3155
{
3156
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3157
        dest.assign(source.view());
3158
    }
3159
    else {
3160
        return transcode_impl(source.view(), dest);
3161
    }
3162
3163
    return {};
3164
}
3165
3166
template <typename SourceCharT, typename DestCharT>
3167
scan_expected<void> transcode_if_necessary(
3168
    contiguous_range_factory<SourceCharT>&& source,
3169
    std::basic_string<DestCharT>& dest)
3170
1.54k
{
3171
1.54k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
774
        if (source.stores_allocated_string()) {
3173
774
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
774
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
774
    else {
3180
774
        return transcode_impl(source.view(), dest);
3181
774
    }
3182
3183
0
    return {};
3184
1.54k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
478
{
3171
478
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
478
        if (source.stores_allocated_string()) {
3173
478
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
478
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
478
    return {};
3184
478
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
478
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
478
    else {
3180
478
        return transcode_impl(source.view(), dest);
3181
478
    }
3182
3183
0
    return {};
3184
478
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
296
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
296
    else {
3180
296
        return transcode_impl(source.view(), dest);
3181
296
    }
3182
3183
0
    return {};
3184
296
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
296
{
3171
296
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
296
        if (source.stores_allocated_string()) {
3173
296
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
296
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
296
    return {};
3184
296
}
3185
3186
template <typename SourceCharT, typename DestCharT>
3187
scan_expected<void> transcode_if_necessary(
3188
    string_view_wrapper<SourceCharT> source,
3189
    std::basic_string<DestCharT>& dest)
3190
3.94k
{
3191
3.94k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.97k
        dest.assign(source.view());
3193
    }
3194
1.97k
    else {
3195
1.97k
        return transcode_impl(source.view(), dest);
3196
1.97k
    }
3197
3198
0
    return {};
3199
3.94k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
1.14k
{
3191
1.14k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.14k
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
1.14k
    return {};
3199
1.14k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
1.14k
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
1.14k
    else {
3195
1.14k
        return transcode_impl(source.view(), dest);
3196
1.14k
    }
3197
3198
0
    return {};
3199
1.14k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
826
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
826
    else {
3195
826
        return transcode_impl(source.view(), dest);
3196
826
    }
3197
3198
0
    return {};
3199
826
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
826
{
3191
826
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
826
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
826
    return {};
3199
826
}
3200
3201
/////////////////////////////////////////////////////////////////
3202
// Reader base classes etc.
3203
/////////////////////////////////////////////////////////////////
3204
3205
template <typename Derived, typename CharT>
3206
class reader_base {
3207
public:
3208
    using char_type = CharT;
3209
3210
    constexpr reader_base() = default;
3211
3212
    bool skip_ws_before_read() const
3213
10.5k
    {
3214
10.5k
        return true;
3215
10.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
2.62k
    {
3214
2.62k
        return true;
3215
2.62k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.32k
    {
3214
1.32k
        return true;
3215
1.32k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
2.44k
    {
3214
2.44k
        return true;
3215
2.44k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.23k
    {
3214
1.23k
        return true;
3215
1.23k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.57k
    {
3214
1.57k
        return true;
3215
1.57k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.32k
    {
3214
1.32k
        return true;
3215
1.32k
    }
3216
3217
    scan_expected<void> check_specs(const detail::format_specs& specs)
3218
25.3k
    {
3219
25.3k
        reader_error_handler eh{};
3220
25.3k
        get_derived().check_specs_impl(specs, eh);
3221
25.3k
        if (SCN_UNLIKELY(!eh)) {
3222
10.0k
            return detail::unexpected_scan_error(
3223
10.0k
                scan_error::invalid_format_string, eh.m_msg);
3224
10.0k
        }
3225
15.3k
        return {};
3226
25.3k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
4.78k
    {
3219
4.78k
        reader_error_handler eh{};
3220
4.78k
        get_derived().check_specs_impl(specs, eh);
3221
4.78k
        if (SCN_UNLIKELY(!eh)) {
3222
3.42k
            return detail::unexpected_scan_error(
3223
3.42k
                scan_error::invalid_format_string, eh.m_msg);
3224
3.42k
        }
3225
1.36k
        return {};
3226
4.78k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.39k
    {
3219
2.39k
        reader_error_handler eh{};
3220
2.39k
        get_derived().check_specs_impl(specs, eh);
3221
2.39k
        if (SCN_UNLIKELY(!eh)) {
3222
1.70k
            return detail::unexpected_scan_error(
3223
1.70k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.70k
        }
3225
694
        return {};
3226
2.39k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
7.06k
    {
3219
7.06k
        reader_error_handler eh{};
3220
7.06k
        get_derived().check_specs_impl(specs, eh);
3221
7.06k
        if (SCN_UNLIKELY(!eh)) {
3222
438
            return detail::unexpected_scan_error(
3223
438
                scan_error::invalid_format_string, eh.m_msg);
3224
438
        }
3225
6.62k
        return {};
3226
7.06k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.53k
    {
3219
2.53k
        reader_error_handler eh{};
3220
2.53k
        get_derived().check_specs_impl(specs, eh);
3221
2.53k
        if (SCN_UNLIKELY(!eh)) {
3222
1.23k
            return detail::unexpected_scan_error(
3223
1.23k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.23k
        }
3225
1.30k
        return {};
3226
2.53k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.26k
    {
3219
1.26k
        reader_error_handler eh{};
3220
1.26k
        get_derived().check_specs_impl(specs, eh);
3221
1.26k
        if (SCN_UNLIKELY(!eh)) {
3222
622
            return detail::unexpected_scan_error(
3223
622
                scan_error::invalid_format_string, eh.m_msg);
3224
622
        }
3225
646
        return {};
3226
1.26k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
3.61k
    {
3219
3.61k
        reader_error_handler eh{};
3220
3.61k
        get_derived().check_specs_impl(specs, eh);
3221
3.61k
        if (SCN_UNLIKELY(!eh)) {
3222
630
            return detail::unexpected_scan_error(
3223
630
                scan_error::invalid_format_string, eh.m_msg);
3224
630
        }
3225
2.98k
        return {};
3226
3.61k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.39k
    {
3219
2.39k
        reader_error_handler eh{};
3220
2.39k
        get_derived().check_specs_impl(specs, eh);
3221
2.39k
        if (SCN_UNLIKELY(!eh)) {
3222
1.45k
            return detail::unexpected_scan_error(
3223
1.45k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.45k
        }
3225
942
        return {};
3226
2.39k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.26k
    {
3219
1.26k
        reader_error_handler eh{};
3220
1.26k
        get_derived().check_specs_impl(specs, eh);
3221
1.26k
        if (SCN_UNLIKELY(!eh)) {
3222
512
            return detail::unexpected_scan_error(
3223
512
                scan_error::invalid_format_string, eh.m_msg);
3224
512
        }
3225
756
        return {};
3226
1.26k
    }
3227
3228
private:
3229
    Derived& get_derived()
3230
25.3k
    {
3231
25.3k
        return static_cast<Derived&>(*this);
3232
25.3k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3230
4.78k
    {
3231
4.78k
        return static_cast<Derived&>(*this);
3232
4.78k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3230
2.39k
    {
3231
2.39k
        return static_cast<Derived&>(*this);
3232
2.39k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3230
7.06k
    {
3231
7.06k
        return static_cast<Derived&>(*this);
3232
7.06k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
2.53k
    {
3231
2.53k
        return static_cast<Derived&>(*this);
3232
2.53k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.26k
    {
3231
1.26k
        return static_cast<Derived&>(*this);
3232
1.26k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
3.61k
    {
3231
3.61k
        return static_cast<Derived&>(*this);
3232
3.61k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3230
2.39k
    {
3231
2.39k
        return static_cast<Derived&>(*this);
3232
2.39k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.26k
    {
3231
1.26k
        return static_cast<Derived&>(*this);
3232
1.26k
    }
3233
    const Derived& get_derived() const
3234
    {
3235
        return static_cast<const Derived&>(*this);
3236
    }
3237
};
3238
3239
template <typename CharT>
3240
class reader_impl_for_monostate {
3241
public:
3242
    constexpr reader_impl_for_monostate() = default;
3243
3244
    bool skip_ws_before_read() const
3245
0
    {
3246
0
        return true;
3247
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3248
3249
    static scan_expected<void> check_specs(const detail::format_specs&)
3250
0
    {
3251
0
        SCN_EXPECT(false);
3252
0
        SCN_UNREACHABLE;
3253
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::check_specs(scn::v4::detail::format_specs const&)
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
3254
3255
    template <typename Range>
3256
    auto read_default(Range, monostate&, detail::locale_ref)
3257
        -> scan_expected<ranges::const_iterator_t<Range>>
3258
0
    {
3259
0
        SCN_EXPECT(false);
3260
0
        SCN_UNREACHABLE;
3261
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3262
3263
    template <typename Range>
3264
    auto read_specs(Range,
3265
                    const detail::format_specs&,
3266
                    monostate&,
3267
                    detail::locale_ref)
3268
        -> scan_expected<ranges::const_iterator_t<Range>>
3269
0
    {
3270
0
        SCN_EXPECT(false);
3271
0
        SCN_UNREACHABLE;
3272
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3273
};
3274
3275
/////////////////////////////////////////////////////////////////
3276
// Numeric reader support
3277
/////////////////////////////////////////////////////////////////
3278
3279
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3280
3281
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3282
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3283
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3284
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3285
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3286
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3287
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3288
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3289
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3290
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3291
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3292
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3293
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3294
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3295
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3296
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3297
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3298
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3299
    255};
3300
3301
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3302
16.8k
{
3303
16.8k
    return char_to_int_table[static_cast<unsigned char>(ch)];
3304
16.8k
}
3305
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3306
8.06k
{
3307
8.06k
#if WCHAR_MIN < 0
3308
8.06k
    if (ch >= 0 && ch <= 255) {
3309
#else
3310
    if (ch <= 255) {
3311
#endif
3312
7.96k
        return char_to_int(static_cast<char>(ch));
3313
7.96k
    }
3314
102
    return 255;
3315
8.06k
}
3316
3317
template <typename Range>
3318
auto parse_numeric_sign(Range range)
3319
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3320
9.55k
{
3321
9.55k
    auto r = read_one_of_code_unit(range, "+-");
3322
9.55k
    if (!r) {
3323
9.55k
        if (r.error() == parse_error::error) {
3324
9.55k
            return std::pair{range.begin(), sign_type::default_sign};
3325
9.55k
        }
3326
0
        return unexpected(eof_error::eof);
3327
9.55k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
1.40k
{
3321
1.40k
    auto r = read_one_of_code_unit(range, "+-");
3322
1.40k
    if (!r) {
3323
1.40k
        if (r.error() == parse_error::error) {
3324
1.40k
            return std::pair{range.begin(), sign_type::default_sign};
3325
1.40k
        }
3326
0
        return unexpected(eof_error::eof);
3327
1.40k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.69k
{
3321
3.69k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.69k
    if (!r) {
3323
3.69k
        if (r.error() == parse_error::error) {
3324
3.69k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.69k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.69k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
778
{
3321
778
    auto r = read_one_of_code_unit(range, "+-");
3322
778
    if (!r) {
3323
778
        if (r.error() == parse_error::error) {
3324
778
            return std::pair{range.begin(), sign_type::default_sign};
3325
778
        }
3326
0
        return unexpected(eof_error::eof);
3327
778
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.68k
{
3321
3.68k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.68k
    if (!r) {
3323
3.68k
        if (r.error() == parse_error::error) {
3324
3.68k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.68k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.68k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
3335
3336
template <typename CharT>
3337
class numeric_reader {
3338
public:
3339
    contiguous_range_factory<CharT> m_buffer{};
3340
};
3341
3342
/////////////////////////////////////////////////////////////////
3343
// Integer reader
3344
/////////////////////////////////////////////////////////////////
3345
3346
template <typename Iterator>
3347
struct parse_integer_prefix_result {
3348
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3349
    int parsed_base{0};
3350
    sign_type sign{sign_type::default_sign};
3351
    bool is_zero{false};
3352
};
3353
3354
template <typename Range>
3355
auto parse_integer_bin_base_prefix(Range range)
3356
    -> parse_expected<ranges::const_iterator_t<Range>>
3357
206
{
3358
206
    return read_matching_string_classic_nocase(range, "0b");
3359
206
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
40
{
3358
40
    return read_matching_string_classic_nocase(range, "0b");
3359
40
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
22
{
3358
22
    return read_matching_string_classic_nocase(range, "0b");
3359
22
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
52
{
3358
52
    return read_matching_string_classic_nocase(range, "0b");
3359
52
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
92
{
3358
92
    return read_matching_string_classic_nocase(range, "0b");
3359
92
}
3360
3361
template <typename Range>
3362
auto parse_integer_hex_base_prefix(Range range)
3363
    -> parse_expected<ranges::const_iterator_t<Range>>
3364
2.39k
{
3365
2.39k
    return read_matching_string_classic_nocase(range, "0x");
3366
2.39k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
354
{
3365
354
    return read_matching_string_classic_nocase(range, "0x");
3366
354
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
924
{
3365
924
    return read_matching_string_classic_nocase(range, "0x");
3366
924
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
206
{
3365
206
    return read_matching_string_classic_nocase(range, "0x");
3366
206
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
908
{
3365
908
    return read_matching_string_classic_nocase(range, "0x");
3366
908
}
3367
3368
template <typename Range>
3369
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3370
    -> parse_expected<ranges::const_iterator_t<Range>>
3371
198
{
3372
198
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
198
    if (auto r = read_matching_code_unit(range, '0')) {
3377
34
        zero_parsed = true;
3378
34
        return *r;
3379
34
    }
3380
3381
164
    return unexpected(parse_error::error);
3382
198
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
40
{
3372
40
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
40
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
40
    return unexpected(parse_error::error);
3382
40
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
42
{
3372
42
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
42
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
42
    return unexpected(parse_error::error);
3382
42
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
68
{
3372
68
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
68
    if (auto r = read_matching_code_unit(range, '0')) {
3377
18
        zero_parsed = true;
3378
18
        return *r;
3379
18
    }
3380
3381
50
    return unexpected(parse_error::error);
3382
68
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
48
{
3372
48
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
48
    if (auto r = read_matching_code_unit(range, '0')) {
3377
16
        zero_parsed = true;
3378
16
        return *r;
3379
16
    }
3380
3381
32
    return unexpected(parse_error::error);
3382
48
}
3383
3384
template <typename Range>
3385
auto parse_integer_base_prefix_for_detection(Range range)
3386
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3387
112
{
3388
112
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
112
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
112
    {
3395
112
        bool zero_parsed{false};
3396
112
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
22
            return {*r, 8, zero_parsed};
3398
22
        }
3399
112
    }
3400
90
    return {range.begin(), 10, false};
3401
112
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
26
{
3388
26
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
26
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
26
    {
3395
26
        bool zero_parsed{false};
3396
26
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
26
    }
3400
26
    return {range.begin(), 10, false};
3401
26
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
16
{
3388
16
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
16
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
16
    {
3395
16
        bool zero_parsed{false};
3396
16
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
16
    }
3400
16
    return {range.begin(), 10, false};
3401
16
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
38
{
3388
38
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
38
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
38
    {
3395
38
        bool zero_parsed{false};
3396
38
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
12
            return {*r, 8, zero_parsed};
3398
12
        }
3399
38
    }
3400
26
    return {range.begin(), 10, false};
3401
38
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
32
{
3388
32
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
32
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
32
    {
3395
32
        bool zero_parsed{false};
3396
32
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
10
            return {*r, 8, zero_parsed};
3398
10
        }
3399
32
    }
3400
22
    return {range.begin(), 10, false};
3401
32
}
3402
3403
template <typename Range>
3404
auto parse_integer_base_prefix(Range range, int base)
3405
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3406
7.14k
{
3407
7.14k
    switch (base) {
3408
94
        case 2:
3409
            // allow 0b/0B
3410
94
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
94
                    false};
3412
3413
86
        case 8: {
3414
            // allow 0o/0O/0
3415
86
            bool zero_parsed = false;
3416
86
            auto it = apply_opt(
3417
86
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
86
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
2.28k
        case 16:
3422
            // allow 0x/0X
3423
2.28k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
2.28k
                    false};
3425
3426
112
        case 0:
3427
            // detect base
3428
112
            return parse_integer_base_prefix_for_detection(range);
3429
3430
4.57k
        default:
3431
            // no base prefix allowed
3432
4.57k
            return {range.begin(), base, false};
3433
7.14k
    }
3434
7.14k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
1.04k
{
3407
1.04k
    switch (base) {
3408
14
        case 2:
3409
            // allow 0b/0B
3410
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
14
                    false};
3412
3413
14
        case 8: {
3414
            // allow 0o/0O/0
3415
14
            bool zero_parsed = false;
3416
14
            auto it = apply_opt(
3417
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
14
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
328
        case 16:
3422
            // allow 0x/0X
3423
328
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
328
                    false};
3425
3426
26
        case 0:
3427
            // detect base
3428
26
            return parse_integer_base_prefix_for_detection(range);
3429
3430
660
        default:
3431
            // no base prefix allowed
3432
660
            return {range.begin(), base, false};
3433
1.04k
    }
3434
1.04k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.76k
{
3407
2.76k
    switch (base) {
3408
6
        case 2:
3409
            // allow 0b/0B
3410
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
6
                    false};
3412
3413
26
        case 8: {
3414
            // allow 0o/0O/0
3415
26
            bool zero_parsed = false;
3416
26
            auto it = apply_opt(
3417
26
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
26
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
908
        case 16:
3422
            // allow 0x/0X
3423
908
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
908
                    false};
3425
3426
16
        case 0:
3427
            // detect base
3428
16
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.81k
        default:
3431
            // no base prefix allowed
3432
1.81k
            return {range.begin(), base, false};
3433
2.76k
    }
3434
2.76k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
590
{
3407
590
    switch (base) {
3408
14
        case 2:
3409
            // allow 0b/0B
3410
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
14
                    false};
3412
3413
30
        case 8: {
3414
            // allow 0o/0O/0
3415
30
            bool zero_parsed = false;
3416
30
            auto it = apply_opt(
3417
30
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
30
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
168
        case 16:
3422
            // allow 0x/0X
3423
168
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
168
                    false};
3425
3426
38
        case 0:
3427
            // detect base
3428
38
            return parse_integer_base_prefix_for_detection(range);
3429
3430
340
        default:
3431
            // no base prefix allowed
3432
340
            return {range.begin(), base, false};
3433
590
    }
3434
590
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.75k
{
3407
2.75k
    switch (base) {
3408
60
        case 2:
3409
            // allow 0b/0B
3410
60
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
60
                    false};
3412
3413
16
        case 8: {
3414
            // allow 0o/0O/0
3415
16
            bool zero_parsed = false;
3416
16
            auto it = apply_opt(
3417
16
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
16
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
876
        case 16:
3422
            // allow 0x/0X
3423
876
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
876
                    false};
3425
3426
32
        case 0:
3427
            // detect base
3428
32
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.76k
        default:
3431
            // no base prefix allowed
3432
1.76k
            return {range.begin(), base, false};
3433
2.75k
    }
3434
2.75k
}
3435
3436
template <typename Range>
3437
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3438
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3439
7.14k
{
3440
7.14k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
7.14k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
7.14k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
7.14k
        parse_integer_base_prefix(
3445
7.14k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
7.14k
    if (parsed_zero) {
3448
34
        if (digits_begin_it == range.end() ||
3449
34
            char_to_int(*digits_begin_it) >= 8) {
3450
34
            digits_begin_it = base_prefix_begin_it;
3451
34
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
34
    }
3456
7.11k
    else {
3457
7.11k
        if (digits_begin_it == range.end() ||
3458
7.11k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
6.93k
            digits_begin_it = base_prefix_begin_it;
3460
6.93k
        }
3461
7.11k
    }
3462
3463
7.14k
    if (sign == sign_type::default_sign) {
3464
7.14k
        sign = sign_type::plus_sign;
3465
7.14k
    }
3466
7.14k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
7.14k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
7.14k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
1.04k
{
3440
1.04k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
1.04k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
1.04k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
1.04k
        parse_integer_base_prefix(
3445
1.04k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
1.04k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
1.04k
    else {
3457
1.04k
        if (digits_begin_it == range.end() ||
3458
1.04k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
1.04k
            digits_begin_it = base_prefix_begin_it;
3460
1.04k
        }
3461
1.04k
    }
3462
3463
1.04k
    if (sign == sign_type::default_sign) {
3464
1.04k
        sign = sign_type::plus_sign;
3465
1.04k
    }
3466
1.04k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
1.04k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
1.04k
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.76k
{
3440
2.76k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.76k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.76k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.76k
        parse_integer_base_prefix(
3445
2.76k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.76k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
2.76k
    else {
3457
2.76k
        if (digits_begin_it == range.end() ||
3458
2.76k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.76k
            digits_begin_it = base_prefix_begin_it;
3460
2.76k
        }
3461
2.76k
    }
3462
3463
2.76k
    if (sign == sign_type::default_sign) {
3464
2.76k
        sign = sign_type::plus_sign;
3465
2.76k
    }
3466
2.76k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.76k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.76k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
590
{
3440
590
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
590
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
590
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
590
        parse_integer_base_prefix(
3445
590
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
590
    if (parsed_zero) {
3448
18
        if (digits_begin_it == range.end() ||
3449
18
            char_to_int(*digits_begin_it) >= 8) {
3450
18
            digits_begin_it = base_prefix_begin_it;
3451
18
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
18
    }
3456
572
    else {
3457
572
        if (digits_begin_it == range.end() ||
3458
572
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
526
            digits_begin_it = base_prefix_begin_it;
3460
526
        }
3461
572
    }
3462
3463
590
    if (sign == sign_type::default_sign) {
3464
590
        sign = sign_type::plus_sign;
3465
590
    }
3466
590
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
590
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
590
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.75k
{
3440
2.75k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.75k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.75k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.75k
        parse_integer_base_prefix(
3445
2.75k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.75k
    if (parsed_zero) {
3448
16
        if (digits_begin_it == range.end() ||
3449
16
            char_to_int(*digits_begin_it) >= 8) {
3450
16
            digits_begin_it = base_prefix_begin_it;
3451
16
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
16
    }
3456
2.73k
    else {
3457
2.73k
        if (digits_begin_it == range.end() ||
3458
2.73k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.59k
            digits_begin_it = base_prefix_begin_it;
3460
2.59k
        }
3461
2.73k
    }
3462
3463
2.75k
    if (sign == sign_type::default_sign) {
3464
2.75k
        sign = sign_type::plus_sign;
3465
2.75k
    }
3466
2.75k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.75k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.75k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
3469
3470
template <typename Range>
3471
auto parse_integer_digits_without_thsep(Range range, int base)
3472
    -> scan_expected<ranges::const_iterator_t<Range>>
3473
6.97k
{
3474
6.97k
    SCN_UNUSED(base);
3475
6.97k
    using char_type = detail::char_t<Range>;
3476
3477
6.97k
    if constexpr (ranges::contiguous_range<Range>) {
3478
5.43k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
5.43k
        return range.end();
3484
    }
3485
1.53k
    else {
3486
1.53k
        return read_while1_code_unit(range,
3487
1.56k
                                     [&](char_type ch) noexcept {
3488
1.56k
                                         return char_to_int(ch) < base;
3489
1.56k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3487
1.01k
                                     [&](char_type ch) noexcept {
3488
1.01k
                                         return char_to_int(ch) < base;
3489
1.01k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3487
544
                                     [&](char_type ch) noexcept {
3488
544
                                         return char_to_int(ch) < base;
3489
544
                                     })
3490
1.53k
            .transform_error(map_parse_error_to_scan_error(
3491
1.53k
                scan_error::invalid_scanned_value,
3492
1.53k
                "Failed to parse integer: No digits found"));
3493
1.53k
    }
3494
6.97k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
1.01k
{
3474
1.01k
    SCN_UNUSED(base);
3475
1.01k
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
1.01k
    else {
3486
1.01k
        return read_while1_code_unit(range,
3487
1.01k
                                     [&](char_type ch) noexcept {
3488
1.01k
                                         return char_to_int(ch) < base;
3489
1.01k
                                     })
3490
1.01k
            .transform_error(map_parse_error_to_scan_error(
3491
1.01k
                scan_error::invalid_scanned_value,
3492
1.01k
                "Failed to parse integer: No digits found"));
3493
1.01k
    }
3494
1.01k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.74k
{
3474
2.74k
    SCN_UNUSED(base);
3475
2.74k
    using char_type = detail::char_t<Range>;
3476
3477
2.74k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.74k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.74k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.74k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
520
{
3474
520
    SCN_UNUSED(base);
3475
520
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
520
    else {
3486
520
        return read_while1_code_unit(range,
3487
520
                                     [&](char_type ch) noexcept {
3488
520
                                         return char_to_int(ch) < base;
3489
520
                                     })
3490
520
            .transform_error(map_parse_error_to_scan_error(
3491
520
                scan_error::invalid_scanned_value,
3492
520
                "Failed to parse integer: No digits found"));
3493
520
    }
3494
520
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.68k
{
3474
2.68k
    SCN_UNUSED(base);
3475
2.68k
    using char_type = detail::char_t<Range>;
3476
3477
2.68k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.68k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.68k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.68k
}
3495
3496
template <typename Range, typename CharT>
3497
auto parse_integer_digits_with_thsep(
3498
    Range range,
3499
    int base,
3500
    const localized_number_formatting_options<CharT>& locale_options)
3501
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3502
                                std::basic_string<CharT>,
3503
                                std::string>>
3504
144
{
3505
144
    std::basic_string<CharT> output;
3506
144
    std::string thsep_indices;
3507
144
    auto it = range.begin();
3508
144
    bool digit_matched = false;
3509
160
    for (; it != range.end(); ++it) {
3510
156
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
156
        else if (char_to_int(*it) >= base) {
3515
140
            break;
3516
140
        }
3517
16
        else {
3518
16
            output.push_back(*it);
3519
16
            digit_matched = true;
3520
16
        }
3521
156
    }
3522
144
    if (SCN_UNLIKELY(!digit_matched)) {
3523
128
        return detail::unexpected_scan_error(
3524
128
            scan_error::invalid_scanned_value,
3525
128
            "Failed to parse integer: No digits found");
3526
128
    }
3527
16
    return std::tuple{it, output, thsep_indices};
3528
144
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
24
{
3505
24
    std::basic_string<CharT> output;
3506
24
    std::string thsep_indices;
3507
24
    auto it = range.begin();
3508
24
    bool digit_matched = false;
3509
24
    for (; it != range.end(); ++it) {
3510
24
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
24
        else if (char_to_int(*it) >= base) {
3515
24
            break;
3516
24
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
24
    }
3522
24
    if (SCN_UNLIKELY(!digit_matched)) {
3523
24
        return detail::unexpected_scan_error(
3524
24
            scan_error::invalid_scanned_value,
3525
24
            "Failed to parse integer: No digits found");
3526
24
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
24
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
20
{
3505
20
    std::basic_string<CharT> output;
3506
20
    std::string thsep_indices;
3507
20
    auto it = range.begin();
3508
20
    bool digit_matched = false;
3509
20
    for (; it != range.end(); ++it) {
3510
20
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
20
        else if (char_to_int(*it) >= base) {
3515
20
            break;
3516
20
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
20
    }
3522
20
    if (SCN_UNLIKELY(!digit_matched)) {
3523
20
        return detail::unexpected_scan_error(
3524
20
            scan_error::invalid_scanned_value,
3525
20
            "Failed to parse integer: No digits found");
3526
20
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
20
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
52
{
3505
52
    std::basic_string<CharT> output;
3506
52
    std::string thsep_indices;
3507
52
    auto it = range.begin();
3508
52
    bool digit_matched = false;
3509
60
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
52
    if (SCN_UNLIKELY(!digit_matched)) {
3523
44
        return detail::unexpected_scan_error(
3524
44
            scan_error::invalid_scanned_value,
3525
44
            "Failed to parse integer: No digits found");
3526
44
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
52
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
48
{
3505
48
    std::basic_string<CharT> output;
3506
48
    std::string thsep_indices;
3507
48
    auto it = range.begin();
3508
48
    bool digit_matched = false;
3509
56
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
48
    if (SCN_UNLIKELY(!digit_matched)) {
3523
40
        return detail::unexpected_scan_error(
3524
40
            scan_error::invalid_scanned_value,
3525
40
            "Failed to parse integer: No digits found");
3526
40
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
48
}
3529
3530
template <typename CharT, typename T>
3531
auto parse_integer_value(std::basic_string_view<CharT> source,
3532
                         T& value,
3533
                         sign_type sign,
3534
                         int base)
3535
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3536
3537
template <typename T>
3538
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3539
3540
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3541
    extern template auto parse_integer_value(                               \
3542
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3543
        int base)                                                           \
3544
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3545
    extern template void parse_integer_value_exhaustive_valid(              \
3546
        std::string_view, IntT&);
3547
3548
#if !SCN_DISABLE_TYPE_SCHAR
3549
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3550
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3551
#endif
3552
#if !SCN_DISABLE_TYPE_SHORT
3553
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3554
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3555
#endif
3556
#if !SCN_DISABLE_TYPE_INT
3557
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3558
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3559
#endif
3560
#if !SCN_DISABLE_TYPE_LONG
3561
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3562
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3563
#endif
3564
#if !SCN_DISABLE_TYPE_LONG_LONG
3565
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3566
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3567
#endif
3568
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_INT128
3569
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int128)
3570
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int128)
3571
#endif
3572
#if !SCN_DISABLE_TYPE_UCHAR
3573
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3574
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3575
#endif
3576
#if !SCN_DISABLE_TYPE_USHORT
3577
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3578
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3579
#endif
3580
#if !SCN_DISABLE_TYPE_UINT
3581
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3582
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3583
#endif
3584
#if !SCN_DISABLE_TYPE_ULONG
3585
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3586
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3587
#endif
3588
#if !SCN_DISABLE_TYPE_ULONG_LONG
3589
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3590
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3591
#endif
3592
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_UINT128
3593
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, uint128)
3594
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, uint128)
3595
#endif
3596
3597
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3598
3599
template <typename CharT>
3600
class reader_impl_for_int
3601
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3602
public:
3603
    constexpr reader_impl_for_int() = default;
3604
3605
    void check_specs_impl(const detail::format_specs& specs,
3606
                          reader_error_handler& eh)
3607
7.32k
    {
3608
7.32k
        detail::check_int_type_specs(specs, eh);
3609
7.32k
    }
scn::v4::impl::reader_impl_for_int<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
4.78k
    {
3608
4.78k
        detail::check_int_type_specs(specs, eh);
3609
4.78k
    }
scn::v4::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
2.53k
    {
3608
2.53k
        detail::check_int_type_specs(specs, eh);
3609
2.53k
    }
3610
3611
    template <typename Range, typename T>
3612
    auto read_default_with_base(Range range, T& value, int base)
3613
        -> scan_expected<ranges::const_iterator_t<Range>>
3614
2.24k
    {
3615
2.24k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
2.24k
                                   .transform_error(make_eof_scan_error));
3617
3618
2.24k
        if constexpr (!std::is_signed_v<T>) {
3619
1.12k
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
1.12k
        }
3626
3627
2.24k
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
4.49k
        SCN_TRY(after_digits_it,
3633
4.49k
                parse_integer_digits_without_thsep(
3634
4.49k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
4.49k
                    prefix_result.parsed_base));
3636
3637
4.49k
        auto buf = make_contiguous_buffer(
3638
4.49k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
4.49k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
4.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
494
    {
3615
494
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
494
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
494
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
988
        SCN_TRY(after_digits_it,
3633
988
                parse_integer_digits_without_thsep(
3634
988
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
988
                    prefix_result.parsed_base));
3636
3637
988
        auto buf = make_contiguous_buffer(
3638
988
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
988
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
988
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
494
    {
3615
494
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
494
                                   .transform_error(make_eof_scan_error));
3617
3618
494
        if constexpr (!std::is_signed_v<T>) {
3619
494
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
494
        }
3626
3627
494
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
988
        SCN_TRY(after_digits_it,
3633
988
                parse_integer_digits_without_thsep(
3634
988
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
988
                    prefix_result.parsed_base));
3636
3637
988
        auto buf = make_contiguous_buffer(
3638
988
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
988
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
988
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
630
    {
3615
630
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
630
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
630
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.26k
        SCN_TRY(after_digits_it,
3633
1.26k
                parse_integer_digits_without_thsep(
3634
1.26k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.26k
                    prefix_result.parsed_base));
3636
3637
1.26k
        auto buf = make_contiguous_buffer(
3638
1.26k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.26k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
630
    {
3615
630
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
630
                                   .transform_error(make_eof_scan_error));
3617
3618
630
        if constexpr (!std::is_signed_v<T>) {
3619
630
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
630
        }
3626
3627
630
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.26k
        SCN_TRY(after_digits_it,
3633
1.26k
                parse_integer_digits_without_thsep(
3634
1.26k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.26k
                    prefix_result.parsed_base));
3636
3637
1.26k
        auto buf = make_contiguous_buffer(
3638
1.26k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.26k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
3646
3647
    template <typename Range, typename T>
3648
    auto read_default(Range range, T& value, detail::locale_ref loc)
3649
        -> scan_expected<ranges::const_iterator_t<Range>>
3650
2.24k
    {
3651
2.24k
        SCN_UNUSED(loc);
3652
2.24k
        return read_default_with_base(range, value, 10);
3653
2.24k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
630
    {
3651
630
        SCN_UNUSED(loc);
3652
630
        return read_default_with_base(range, value, 10);
3653
630
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
630
    {
3651
630
        SCN_UNUSED(loc);
3652
630
        return read_default_with_base(range, value, 10);
3653
630
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
494
    {
3651
494
        SCN_UNUSED(loc);
3652
494
        return read_default_with_base(range, value, 10);
3653
494
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
494
    {
3651
494
        SCN_UNUSED(loc);
3652
494
        return read_default_with_base(range, value, 10);
3653
494
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
3654
3655
    template <typename Range, typename T>
3656
    auto read_specs(Range range,
3657
                    const detail::format_specs& specs,
3658
                    T& value,
3659
                    detail::locale_ref loc)
3660
        -> scan_expected<ranges::const_iterator_t<Range>>
3661
4.90k
    {
3662
4.90k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
4.90k
                                   .transform_error(make_eof_scan_error));
3664
3665
4.90k
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
4.90k
        if (prefix_result.is_zero) {
3683
34
            value = T{0};
3684
34
            return std::next(prefix_result.iterator);
3685
34
        }
3686
3687
4.86k
        if (SCN_LIKELY(!specs.localized)) {
3688
4.72k
            SCN_TRY(after_digits_it,
3689
3.22k
                    parse_integer_digits_without_thsep(
3690
3.22k
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
3.22k
                        prefix_result.parsed_base));
3692
3693
3.22k
            auto buf = make_contiguous_buffer(
3694
3.22k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
3.22k
            SCN_TRY(result_it,
3696
166
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
166
                                        prefix_result.parsed_base));
3698
3699
166
            return ranges::next(
3700
166
                prefix_result.iterator,
3701
166
                ranges::distance(buf.view().begin(), result_it));
3702
3.22k
        }
3703
3704
144
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
144
            localized_number_formatting_options<CharT>{loc};
3710
144
#endif
3711
3712
144
        SCN_TRY(parse_digits_result,
3713
16
                parse_integer_digits_with_thsep(
3714
16
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
16
                    prefix_result.parsed_base, locale_options));
3716
16
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
16
            parse_digits_result;
3718
16
        SCN_UNUSED(after_digits_it);
3719
3720
16
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
16
            nothsep_source.data(), nothsep_source.size()};
3722
16
        SCN_TRY(
3723
16
            nothsep_source_it,
3724
16
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
16
                                prefix_result.parsed_base));
3726
3727
16
        return ranges::next(
3728
16
            prefix_result.iterator,
3729
16
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
16
                ranges::ssize(thsep_indices));
3731
16
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
36
    {
3662
36
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
36
                                   .transform_error(make_eof_scan_error));
3664
3665
36
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
36
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
36
        if (SCN_LIKELY(!specs.localized)) {
3688
36
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
22
    {
3662
22
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
22
                                   .transform_error(make_eof_scan_error));
3664
3665
22
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
22
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
22
        if (SCN_LIKELY(!specs.localized)) {
3688
22
            SCN_TRY(after_digits_it,
3689
22
                    parse_integer_digits_without_thsep(
3690
22
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
22
                        prefix_result.parsed_base));
3692
3693
22
            auto buf = make_contiguous_buffer(
3694
22
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
22
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
22
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
348
    {
3662
348
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
348
                                   .transform_error(make_eof_scan_error));
3664
3665
348
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
348
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
348
        if (SCN_LIKELY(!specs.localized)) {
3688
336
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
294
    {
3662
294
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
294
                                   .transform_error(make_eof_scan_error));
3664
3665
294
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
294
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
294
        if (SCN_LIKELY(!specs.localized)) {
3688
284
            SCN_TRY(after_digits_it,
3689
284
                    parse_integer_digits_without_thsep(
3690
284
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
284
                        prefix_result.parsed_base));
3692
3693
284
            auto buf = make_contiguous_buffer(
3694
284
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
284
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
284
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
348
    {
3662
348
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
348
                                   .transform_error(make_eof_scan_error));
3664
3665
348
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
348
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
348
        if (SCN_LIKELY(!specs.localized)) {
3688
336
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
294
    {
3662
294
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
294
                                   .transform_error(make_eof_scan_error));
3664
3665
294
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
294
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
294
        if (SCN_LIKELY(!specs.localized)) {
3688
284
            SCN_TRY(after_digits_it,
3689
284
                    parse_integer_digits_without_thsep(
3690
284
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
284
                        prefix_result.parsed_base));
3692
3693
284
            auto buf = make_contiguous_buffer(
3694
284
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
284
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
284
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
310
    {
3662
310
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
310
                                   .transform_error(make_eof_scan_error));
3664
3665
310
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
310
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
310
        if (SCN_LIKELY(!specs.localized)) {
3688
310
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
896
    {
3662
896
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
896
                                   .transform_error(make_eof_scan_error));
3664
3665
896
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
896
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
896
        if (SCN_LIKELY(!specs.localized)) {
3688
896
            SCN_TRY(after_digits_it,
3689
896
                    parse_integer_digits_without_thsep(
3690
896
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
896
                        prefix_result.parsed_base));
3692
3693
896
            auto buf = make_contiguous_buffer(
3694
896
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
896
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
896
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
244
    {
3662
244
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
244
                                   .transform_error(make_eof_scan_error));
3664
3665
244
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
244
        if (prefix_result.is_zero) {
3683
12
            value = T{0};
3684
12
            return std::next(prefix_result.iterator);
3685
12
        }
3686
3687
232
        if (SCN_LIKELY(!specs.localized)) {
3688
206
            SCN_TRY(after_digits_it,
3689
16
                    parse_integer_digits_without_thsep(
3690
16
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
16
                        prefix_result.parsed_base));
3692
3693
16
            auto buf = make_contiguous_buffer(
3694
16
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
16
            SCN_TRY(result_it,
3696
16
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
16
                                        prefix_result.parsed_base));
3698
3699
16
            return ranges::next(
3700
16
                prefix_result.iterator,
3701
16
                ranges::distance(buf.view().begin(), result_it));
3702
16
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
478
    {
3662
478
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
478
                                   .transform_error(make_eof_scan_error));
3664
3665
478
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
478
        if (prefix_result.is_zero) {
3683
10
            value = T{0};
3684
10
            return std::next(prefix_result.iterator);
3685
10
        }
3686
3687
468
        if (SCN_LIKELY(!specs.localized)) {
3688
444
            SCN_TRY(after_digits_it,
3689
444
                    parse_integer_digits_without_thsep(
3690
444
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
444
                        prefix_result.parsed_base));
3692
3693
444
            auto buf = make_contiguous_buffer(
3694
444
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
444
            SCN_TRY(result_it,
3696
46
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
46
                                        prefix_result.parsed_base));
3698
3699
46
            return ranges::next(
3700
46
                prefix_result.iterator,
3701
46
                ranges::distance(buf.view().begin(), result_it));
3702
444
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
200
    {
3662
200
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
200
                                   .transform_error(make_eof_scan_error));
3664
3665
200
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
200
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
194
        if (SCN_LIKELY(!specs.localized)) {
3688
168
            SCN_TRY(after_digits_it,
3689
12
                    parse_integer_digits_without_thsep(
3690
12
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
12
                        prefix_result.parsed_base));
3692
3693
12
            auto buf = make_contiguous_buffer(
3694
12
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
12
            SCN_TRY(result_it,
3696
12
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
12
                                        prefix_result.parsed_base));
3698
3699
12
            return ranges::next(
3700
12
                prefix_result.iterator,
3701
12
                ranges::distance(buf.view().begin(), result_it));
3702
12
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
430
    {
3662
430
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
430
                                   .transform_error(make_eof_scan_error));
3664
3665
430
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
430
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
424
        if (SCN_LIKELY(!specs.localized)) {
3688
400
            SCN_TRY(after_digits_it,
3689
400
                    parse_integer_digits_without_thsep(
3690
400
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
400
                        prefix_result.parsed_base));
3692
3693
400
            auto buf = make_contiguous_buffer(
3694
400
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
400
            SCN_TRY(result_it,
3696
42
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
42
                                        prefix_result.parsed_base));
3698
3699
42
            return ranges::next(
3700
42
                prefix_result.iterator,
3701
42
                ranges::distance(buf.view().begin(), result_it));
3702
400
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
146
    {
3662
146
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
146
                                   .transform_error(make_eof_scan_error));
3664
3665
146
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
146
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
146
        if (SCN_LIKELY(!specs.localized)) {
3688
146
            SCN_TRY(after_digits_it,
3689
10
                    parse_integer_digits_without_thsep(
3690
10
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
10
                        prefix_result.parsed_base));
3692
3693
10
            auto buf = make_contiguous_buffer(
3694
10
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
10
            SCN_TRY(result_it,
3696
10
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
10
                                        prefix_result.parsed_base));
3698
3699
10
            return ranges::next(
3700
10
                prefix_result.iterator,
3701
10
                ranges::distance(buf.view().begin(), result_it));
3702
10
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
854
    {
3662
854
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
854
                                   .transform_error(make_eof_scan_error));
3664
3665
854
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
854
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
854
        if (SCN_LIKELY(!specs.localized)) {
3688
854
            SCN_TRY(after_digits_it,
3689
854
                    parse_integer_digits_without_thsep(
3690
854
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
854
                        prefix_result.parsed_base));
3692
3693
854
            auto buf = make_contiguous_buffer(
3694
854
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
854
            SCN_TRY(result_it,
3696
40
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
40
                                        prefix_result.parsed_base));
3698
3699
40
            return ranges::next(
3700
40
                prefix_result.iterator,
3701
40
                ranges::distance(buf.view().begin(), result_it));
3702
854
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
3732
};
3733
3734
/////////////////////////////////////////////////////////////////
3735
// Floating-point reader
3736
/////////////////////////////////////////////////////////////////
3737
3738
struct float_reader_base {
3739
    enum options_type {
3740
        allow_hex = 1,
3741
        allow_scientific = 2,
3742
        allow_fixed = 4,
3743
        allow_thsep = 8
3744
    };
3745
3746
    enum class float_kind {
3747
        tbd = 0,
3748
        generic,             // fixed or scientific
3749
        fixed,               // xxx.yyy
3750
        scientific,          // xxx.yyyEzzz
3751
        hex_without_prefix,  // xxx.yyypzzz
3752
        hex_with_prefix,     // 0Xxxx.yyypzzz
3753
        inf_short,           // inf
3754
        inf_long,            // infinity
3755
        nan_simple,          // nan
3756
        nan_with_payload,    // nan(xxx)
3757
    };
3758
3759
1.12k
    constexpr float_reader_base() = default;
3760
1.28k
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3761
3762
protected:
3763
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3764
};
3765
3766
template <typename CharT>
3767
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3768
    using numeric_base = numeric_reader<CharT>;
3769
3770
public:
3771
    using char_type = CharT;
3772
3773
1.12k
    constexpr float_reader() = default;
scn::v4::impl::float_reader<char>::float_reader()
Line
Count
Source
3773
630
    constexpr float_reader() = default;
scn::v4::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3773
494
    constexpr float_reader() = default;
3774
3775
1.28k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3775
656
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3775
626
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3776
3777
    template <typename Range>
3778
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3779
        -> scan_expected<ranges::const_iterator_t<Range>>
3780
2.35k
    {
3781
2.35k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
2.35k
        return read_source_impl(range);
3787
2.35k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
348
    {
3781
348
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
348
        return read_source_impl(range);
3787
348
    }
_ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
920
    {
3781
920
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
920
        return read_source_impl(range);
3787
920
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
172
    {
3781
172
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
172
        return read_source_impl(range);
3787
172
    }
_ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
916
    {
3781
916
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
916
        return read_source_impl(range);
3787
916
    }
3788
3789
#if !SCN_DISABLE_LOCALE
3790
    template <typename Range>
3791
    SCN_NODISCARD auto read_source_localized(Range range,
3792
                                             detail::locale_ref loc)
3793
        -> scan_expected<ranges::const_iterator_t<Range>>
3794
50
    {
3795
50
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
50
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
50
        return read_source_impl(range);
3801
50
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
12
    {
3795
12
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
12
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
12
        return read_source_impl(range);
3801
12
    }
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
6
    {
3795
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
6
        return read_source_impl(range);
3801
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
3802
#endif
3803
3804
    template <typename T>
3805
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3806
1.83k
    {
3807
1.83k
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
1.83k
        const std::ptrdiff_t sign_len =
3810
1.83k
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
1.83k
        SCN_TRY(n, parse_value_impl(value));
3813
90
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
1.83k
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3806
904
    {
3807
904
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
904
        const std::ptrdiff_t sign_len =
3810
904
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
904
        SCN_TRY(n, parse_value_impl(value));
3813
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
904
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3806
934
    {
3807
934
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
934
        const std::ptrdiff_t sign_len =
3810
934
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
934
        SCN_TRY(n, parse_value_impl(value));
3813
90
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
934
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
3815
3816
private:
3817
    template <typename Range>
3818
    auto read_source_impl(Range range)
3819
        -> scan_expected<ranges::const_iterator_t<Range>>
3820
2.40k
    {
3821
2.40k
        SCN_TRY(sign_result,
3822
2.40k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
2.40k
        auto it = sign_result.first;
3824
2.40k
        m_sign = sign_result.second;
3825
3826
2.40k
        auto digits_begin = it;
3827
2.40k
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
1.85k
                      ranges::sized_range<Range>) {
3830
1.85k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
1.85k
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
1.85k
            else {
3840
1.85k
                auto cb = [&](const auto& rr)
3841
1.85k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
1.81k
                    auto res = read_all(rr);
3843
1.81k
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
1.81k
                    return res;
3849
1.81k
                };
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
904
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
904
                    auto res = read_all(rr);
3843
904
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
904
                    return res;
3849
904
                };
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
912
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
912
                    auto res = read_all(rr);
3843
912
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
912
                    return res;
3849
912
                };
3850
1.85k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
1.81k
            }
3852
        }
3853
548
        else {
3854
548
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
2.40k
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
1.83k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
1.83k
            m_kind != float_kind::nan_simple &&
3865
1.83k
            m_kind != float_kind::nan_with_payload) {
3866
1.83k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
1.83k
        }
3868
3869
1.83k
        handle_separators();
3870
3871
1.83k
        return it;
3872
2.40k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
360
    {
3821
360
        SCN_TRY(sign_result,
3822
360
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
360
        auto it = sign_result.first;
3824
360
        m_sign = sign_result.second;
3825
3826
360
        auto digits_begin = it;
3827
360
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
360
        else {
3854
360
            SCN_TRY_ASSIGN(
3855
0
                it,
3856
0
                do_read_source_impl(
3857
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
0
        }
3860
3861
360
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
0
            m_kind != float_kind::nan_simple &&
3865
0
            m_kind != float_kind::nan_with_payload) {
3866
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
0
        }
3868
3869
0
        handle_separators();
3870
3871
0
        return it;
3872
360
    }
_ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
926
    {
3821
926
        SCN_TRY(sign_result,
3822
926
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
926
        auto it = sign_result.first;
3824
926
        m_sign = sign_result.second;
3825
3826
926
        auto digits_begin = it;
3827
926
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
926
                      ranges::sized_range<Range>) {
3830
926
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
926
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
926
            else {
3840
926
                auto cb = [&](const auto& rr)
3841
926
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
926
                    auto res = read_all(rr);
3843
926
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
926
                        return detail::unexpected_scan_error(
3845
926
                            scan_error::invalid_scanned_value,
3846
926
                            "Invalid float value");
3847
926
                    }
3848
926
                    return res;
3849
926
                };
3850
926
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
904
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
926
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
904
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
904
            m_kind != float_kind::nan_simple &&
3865
904
            m_kind != float_kind::nan_with_payload) {
3866
904
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
904
        }
3868
3869
904
        handle_separators();
3870
3871
904
        return it;
3872
926
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
188
    {
3821
188
        SCN_TRY(sign_result,
3822
188
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
188
        auto it = sign_result.first;
3824
188
        m_sign = sign_result.second;
3825
3826
188
        auto digits_begin = it;
3827
188
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
188
        else {
3854
188
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
188
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
20
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
20
            m_kind != float_kind::nan_simple &&
3865
20
            m_kind != float_kind::nan_with_payload) {
3866
20
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
20
        }
3868
3869
20
        handle_separators();
3870
3871
20
        return it;
3872
188
    }
_ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
932
    {
3821
932
        SCN_TRY(sign_result,
3822
932
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
932
        auto it = sign_result.first;
3824
932
        m_sign = sign_result.second;
3825
3826
932
        auto digits_begin = it;
3827
932
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
932
                      ranges::sized_range<Range>) {
3830
932
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
932
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
932
            else {
3840
932
                auto cb = [&](const auto& rr)
3841
932
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
932
                    auto res = read_all(rr);
3843
932
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
932
                        return detail::unexpected_scan_error(
3845
932
                            scan_error::invalid_scanned_value,
3846
932
                            "Invalid float value");
3847
932
                    }
3848
932
                    return res;
3849
932
                };
3850
932
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
914
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
932
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
914
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
914
            m_kind != float_kind::nan_simple &&
3865
914
            m_kind != float_kind::nan_with_payload) {
3866
914
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
914
        }
3868
3869
914
        handle_separators();
3870
3871
914
        return it;
3872
932
    }
3873
3874
    template <typename Range>
3875
    auto read_dec_digits(Range range, bool thsep_allowed)
3876
        -> parse_expected<ranges::const_iterator_t<Range>>
3877
582
    {
3878
582
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
582
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3884
0
        }
3885
3886
582
        return read_while1_code_unit(
3887
590
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3887
352
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3887
188
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3887
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
582
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
352
    {
3878
352
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
352
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
352
        return read_while1_code_unit(
3887
352
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
352
    }
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
22
    {
3878
22
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
22
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
22
        return read_while1_code_unit(
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
184
    {
3878
184
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
184
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
184
        return read_while1_code_unit(
3887
184
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
184
    }
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
24
    {
3878
24
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
24
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
24
        return read_while1_code_unit(
3887
24
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
24
    }
3889
    template <typename Range>
3890
    auto read_hex_digits(Range range, bool thsep_allowed)
3891
        -> parse_expected<ranges::const_iterator_t<Range>>
3892
34
    {
3893
34
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
34
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3899
0
        }
3900
3901
34
        return read_while1_code_unit(
3902
36
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3902
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3903
34
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
8
    {
3893
8
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
8
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
8
        return read_while1_code_unit(
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
26
    {
3893
26
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
26
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
26
        return read_while1_code_unit(
3902
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3904
    template <typename Range>
3905
    auto read_hex_prefix(Range range)
3906
        -> parse_expected<ranges::const_iterator_t<Range>>
3907
2.32k
    {
3908
2.32k
        return read_matching_string_classic_nocase(range, "0x");
3909
2.32k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
328
    {
3908
328
        return read_matching_string_classic_nocase(range, "0x");
3909
328
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
904
    {
3908
904
        return read_matching_string_classic_nocase(range, "0x");
3909
904
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
176
    {
3908
176
        return read_matching_string_classic_nocase(range, "0x");
3909
176
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
912
    {
3908
912
        return read_matching_string_classic_nocase(range, "0x");
3909
912
    }
3910
3911
    template <typename Range>
3912
    auto read_inf(Range range)
3913
        -> parse_expected<ranges::const_iterator_t<Range>>
3914
2.40k
    {
3915
2.40k
        auto it = range.begin();
3916
2.40k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
2.40k
            return unexpected(r.error());
3918
2.40k
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
360
    {
3915
360
        auto it = range.begin();
3916
360
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
360
            return unexpected(r.error());
3918
360
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
926
    {
3915
926
        auto it = range.begin();
3916
926
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
926
            return unexpected(r.error());
3918
926
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
188
    {
3915
188
        auto it = range.begin();
3916
188
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
188
            return unexpected(r.error());
3918
188
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
932
    {
3915
932
        auto it = range.begin();
3916
932
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
932
            return unexpected(r.error());
3918
932
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
3934
3935
    template <typename Range>
3936
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3937
2.40k
    {
3938
2.40k
        auto it = range.begin();
3939
2.40k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
2.40k
            return r.transform_error(map_parse_error_to_scan_error(
3941
2.40k
                scan_error::invalid_scanned_value,
3942
2.40k
                "Invalid floating-point NaN value"));
3943
2.40k
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
360
    {
3938
360
        auto it = range.begin();
3939
360
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
360
            return r.transform_error(map_parse_error_to_scan_error(
3941
360
                scan_error::invalid_scanned_value,
3942
360
                "Invalid floating-point NaN value"));
3943
360
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
926
    {
3938
926
        auto it = range.begin();
3939
926
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
926
            return r.transform_error(map_parse_error_to_scan_error(
3941
926
                scan_error::invalid_scanned_value,
3942
926
                "Invalid floating-point NaN value"));
3943
926
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
188
    {
3938
188
        auto it = range.begin();
3939
188
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
188
            return r.transform_error(map_parse_error_to_scan_error(
3941
188
                scan_error::invalid_scanned_value,
3942
188
                "Invalid floating-point NaN value"));
3943
188
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
932
    {
3938
932
        auto it = range.begin();
3939
932
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
932
            return r.transform_error(map_parse_error_to_scan_error(
3941
932
                scan_error::invalid_scanned_value,
3942
932
                "Invalid floating-point NaN value"));
3943
932
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
3976
3977
    template <typename Range>
3978
    auto read_exponent(Range range, std::string_view exp)
3979
        -> ranges::const_iterator_t<Range>
3980
22
    {
3981
22
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
22
        return range.begin();
4003
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Line
Count
Source
3980
20
    {
3981
20
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
20
        return range.begin();
4003
20
    }
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3980
2
    {
3981
2
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
2
        return range.begin();
4003
2
    }
4004
4005
    template <typename Range>
4006
    auto read_hexfloat(Range range)
4007
        -> scan_expected<ranges::const_iterator_t<Range>>
4008
28
    {
4009
28
        auto it = range.begin();
4010
4011
28
        std::ptrdiff_t digits_count = 0;
4012
28
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
28
            SCN_UNLIKELY(!r)) {
4014
22
            return r.transform_error(map_parse_error_to_scan_error(
4015
22
                scan_error::invalid_scanned_value,
4016
22
                "Invalid hexadecimal floating-point value"));
4017
22
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
8
    {
4009
8
        auto it = range.begin();
4010
4011
8
        std::ptrdiff_t digits_count = 0;
4012
8
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
8
            SCN_UNLIKELY(!r)) {
4014
8
            return r.transform_error(map_parse_error_to_scan_error(
4015
8
                scan_error::invalid_scanned_value,
4016
8
                "Invalid hexadecimal floating-point value"));
4017
8
        }
4018
0
        else {
4019
0
            digits_count += ranges::distance(it, *r);
4020
0
            it = *r;
4021
0
        }
4022
4023
0
        m_integral_part_length = digits_count;
4024
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
0
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
0
        if (auto r =
4030
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
0
        return it;
4044
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
20
    {
4009
20
        auto it = range.begin();
4010
4011
20
        std::ptrdiff_t digits_count = 0;
4012
20
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
20
            SCN_UNLIKELY(!r)) {
4014
14
            return r.transform_error(map_parse_error_to_scan_error(
4015
14
                scan_error::invalid_scanned_value,
4016
14
                "Invalid hexadecimal floating-point value"));
4017
14
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
4045
4046
    template <typename Range>
4047
    auto read_regular_float(Range range)
4048
        -> scan_expected<ranges::const_iterator_t<Range>>
4049
562
    {
4050
562
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
562
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
562
        auto it = ranges::begin(range);
4054
562
        std::ptrdiff_t digits_count = 0;
4055
4056
562
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
562
            SCN_UNLIKELY(!r)) {
4058
542
            return r.transform_error(
4059
542
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
542
                                              "Invalid floating-point value"));
4061
542
        }
4062
20
        else {
4063
20
            digits_count += ranges::distance(it, *r);
4064
20
            it = *r;
4065
20
        }
4066
4067
20
        m_integral_part_length = digits_count;
4068
20
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
20
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
20
        if (auto r =
4074
20
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
20
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
20
        auto beg_exp_it = it;
4086
20
        if (allowed_exp) {
4087
16
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
16
        }
4089
20
        if (required_exp && beg_exp_it == it) {
4090
4
            return detail::unexpected_scan_error(
4091
4
                scan_error::invalid_scanned_value,
4092
4
                "No exponent given to scientific float");
4093
4
        }
4094
4095
16
        m_kind =
4096
16
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
16
        return it;
4099
20
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
352
    {
4050
352
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
352
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
352
        auto it = ranges::begin(range);
4054
352
        std::ptrdiff_t digits_count = 0;
4055
4056
352
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
352
            SCN_UNLIKELY(!r)) {
4058
352
            return r.transform_error(
4059
352
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
352
                                              "Invalid floating-point value"));
4061
352
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
22
    {
4050
22
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
22
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
22
        auto it = ranges::begin(range);
4054
22
        std::ptrdiff_t digits_count = 0;
4055
4056
22
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
22
            SCN_UNLIKELY(!r)) {
4058
22
            return r.transform_error(
4059
22
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
22
                                              "Invalid floating-point value"));
4061
22
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
168
    {
4050
168
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
168
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
168
        auto it = ranges::begin(range);
4054
168
        std::ptrdiff_t digits_count = 0;
4055
4056
168
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
168
            SCN_UNLIKELY(!r)) {
4058
152
            return r.transform_error(
4059
152
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
152
                                              "Invalid floating-point value"));
4061
152
        }
4062
16
        else {
4063
16
            digits_count += ranges::distance(it, *r);
4064
16
            it = *r;
4065
16
        }
4066
4067
16
        m_integral_part_length = digits_count;
4068
16
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
16
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
16
        if (auto r =
4074
16
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
16
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
16
        auto beg_exp_it = it;
4086
16
        if (allowed_exp) {
4087
14
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
14
        }
4089
16
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
14
        m_kind =
4096
14
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
14
        return it;
4099
16
    }
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
20
    {
4050
20
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
20
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
20
        auto it = ranges::begin(range);
4054
20
        std::ptrdiff_t digits_count = 0;
4055
4056
20
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
20
            SCN_UNLIKELY(!r)) {
4058
16
            return r.transform_error(
4059
16
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
16
                                              "Invalid floating-point value"));
4061
16
        }
4062
4
        else {
4063
4
            digits_count += ranges::distance(it, *r);
4064
4
            it = *r;
4065
4
        }
4066
4067
4
        m_integral_part_length = digits_count;
4068
4
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
4
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
4
        if (auto r =
4074
4
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
4
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
4
        auto beg_exp_it = it;
4086
4
        if (allowed_exp) {
4087
2
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
2
        }
4089
4
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
2
        m_kind =
4096
2
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
2
        return it;
4099
4
    }
4100
4101
    template <typename Range, typename ReadRegular, typename ReadHex>
4102
    auto do_read_source_impl(Range range,
4103
                             ReadRegular&& read_regular,
4104
                             ReadHex&& read_hex)
4105
        -> scan_expected<ranges::const_iterator_t<Range>>
4106
2.40k
    {
4107
2.40k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
2.40k
        const bool allowed_nonhex =
4109
2.40k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
2.40k
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
2.40k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
2.40k
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
2.40k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
2.40k
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
2.40k
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
84
            auto it = range.begin();
4132
4133
84
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
84
            else {
4138
84
                m_kind = float_kind::hex_without_prefix;
4139
84
            }
4140
4141
84
            return read_hex(ranges::subrange{it, range.end()});
4142
84
        }
4143
2.32k
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
86
            m_kind = float_kind::generic;
4147
86
            return read_regular_float(range);
4148
86
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
2.23k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
2.23k
        m_kind = float_kind::generic;
4159
2.23k
        return read_regular(range);
4160
2.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
360
    {
4107
360
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
360
        const bool allowed_nonhex =
4109
360
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
360
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
360
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
360
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
360
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
360
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
360
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
352
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
32
            m_kind = float_kind::generic;
4147
32
            return read_regular_float(range);
4148
32
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
320
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
320
        m_kind = float_kind::generic;
4159
320
        return read_regular(range);
4160
320
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
926
    {
4107
926
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
926
        const bool allowed_nonhex =
4109
926
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
926
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
926
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
926
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
926
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
926
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
926
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
918
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
22
            m_kind = float_kind::generic;
4147
22
            return read_regular_float(range);
4148
22
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
896
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
896
        m_kind = float_kind::generic;
4159
896
        return read_regular(range);
4160
896
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
188
    {
4107
188
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
188
        const bool allowed_nonhex =
4109
188
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
188
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
188
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
188
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
188
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
188
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
188
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
20
            auto it = range.begin();
4132
4133
20
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
20
            else {
4138
20
                m_kind = float_kind::hex_without_prefix;
4139
20
            }
4140
4141
20
            return read_hex(ranges::subrange{it, range.end()});
4142
20
        }
4143
168
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
12
            m_kind = float_kind::generic;
4147
12
            return read_regular_float(range);
4148
12
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
156
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
156
        m_kind = float_kind::generic;
4159
156
        return read_regular(range);
4160
156
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
932
    {
4107
932
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
932
        const bool allowed_nonhex =
4109
932
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
932
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
932
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
932
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
932
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
932
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
932
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
48
            auto it = range.begin();
4132
4133
48
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
48
            else {
4138
48
                m_kind = float_kind::hex_without_prefix;
4139
48
            }
4140
4141
48
            return read_hex(ranges::subrange{it, range.end()});
4142
48
        }
4143
884
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
20
            m_kind = float_kind::generic;
4147
20
            return read_regular_float(range);
4148
20
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
864
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
864
        m_kind = float_kind::generic;
4159
864
        return read_regular(range);
4160
864
    }
4161
4162
    void handle_separators()
4163
1.83k
    {
4164
1.83k
        if (m_locale_options.thousands_sep == 0 &&
4165
1.83k
            m_locale_options.decimal_point == CharT{'.'}) {
4166
1.83k
            return;
4167
1.83k
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<char>::handle_separators()
Line
Count
Source
4163
904
    {
4164
904
        if (m_locale_options.thousands_sep == 0 &&
4165
904
            m_locale_options.decimal_point == CharT{'.'}) {
4166
904
            return;
4167
904
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4163
934
    {
4164
934
        if (m_locale_options.thousands_sep == 0 &&
4165
934
            m_locale_options.decimal_point == CharT{'.'}) {
4166
934
            return;
4167
934
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
4203
4204
    template <typename T>
4205
    T setsign(T value) const
4206
90
    {
4207
90
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
90
        return std::copysign(value, static_cast<T>(1.0));
4211
90
    }
Unexecuted instantiation: float scn::v4::impl::float_reader<char>::setsign<float>(float) const
Unexecuted instantiation: float scn::v4::impl::float_reader<wchar_t>::setsign<float>(float) const
Unexecuted instantiation: double scn::v4::impl::float_reader<char>::setsign<double>(double) const
double scn::v4::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4206
90
    {
4207
90
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
90
        return std::copysign(value, static_cast<T>(1.0));
4211
90
    }
Unexecuted instantiation: long double scn::v4::impl::float_reader<char>::setsign<long double>(long double) const
Unexecuted instantiation: long double scn::v4::impl::float_reader<wchar_t>::setsign<long double>(long double) const
4212
4213
    template <typename T>
4214
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4215
4216
    localized_number_formatting_options<CharT> m_locale_options{};
4217
    std::string m_thsep_indices{};
4218
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4219
    std::ptrdiff_t m_integral_part_length{-1};
4220
    sign_type m_sign{sign_type::default_sign};
4221
    float_kind m_kind{float_kind::tbd};
4222
};
4223
4224
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4225
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4226
        -> scan_expected<std::ptrdiff_t>;
4227
4228
#if !SCN_DISABLE_TYPE_FLOAT
4229
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4230
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4231
#endif
4232
#if !SCN_DISABLE_TYPE_DOUBLE
4233
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4234
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4235
#endif
4236
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4237
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4238
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4239
#endif
4240
4241
#if SCN_HAS_STD_F16 && !SCN_DISABLE_TYPE_FLOAT16
4242
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float16_t)
4243
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float16_t)
4244
#endif
4245
#if SCN_HAS_STD_F32 && !SCN_DISABLE_TYPE_FLOAT32
4246
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float32_t)
4247
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float32_t)
4248
#endif
4249
#if SCN_HAS_STD_F64 && !SCN_DISABLE_TYPE_FLOAT64
4250
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float64_t)
4251
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float64_t)
4252
#endif
4253
#if SCN_HAS_STD_F128 && !SCN_DISABLE_TYPE_FLOAT128
4254
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float128_t)
4255
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float128_t)
4256
#endif
4257
#if SCN_HAS_STD_BF16 && !SCN_DISABLE_TYPE_BFLOAT16
4258
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::bfloat16_t)
4259
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::bfloat16_t)
4260
#endif
4261
4262
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4263
4264
template <typename CharT>
4265
class reader_impl_for_float
4266
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4267
public:
4268
    constexpr reader_impl_for_float() = default;
4269
4270
    void check_specs_impl(const detail::format_specs& specs,
4271
                          reader_error_handler& eh)
4272
3.66k
    {
4273
3.66k
        detail::check_float_type_specs(specs, eh);
4274
3.66k
    }
scn::v4::impl::reader_impl_for_float<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
2.39k
    {
4273
2.39k
        detail::check_float_type_specs(specs, eh);
4274
2.39k
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
1.26k
    {
4273
1.26k
        detail::check_float_type_specs(specs, eh);
4274
1.26k
    }
4275
4276
    template <typename Range, typename T>
4277
    auto read_default(Range range, T& value, detail::locale_ref loc)
4278
        -> scan_expected<ranges::const_iterator_t<Range>>
4279
1.12k
    {
4280
1.12k
        SCN_UNUSED(loc);
4281
4282
1.12k
        float_reader<CharT> rd{};
4283
1.12k
        return read_impl<Range>(
4284
1.12k
            range, rd,
4285
1.12k
            [](float_reader<CharT>& r, auto&&... args) {
4286
1.12k
                return r.read_source(SCN_FWD(args)...);
4287
1.12k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
630
            [](float_reader<CharT>& r, auto&&... args) {
4286
630
                return r.read_source(SCN_FWD(args)...);
4287
630
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
494
            [](float_reader<CharT>& r, auto&&... args) {
4286
494
                return r.read_source(SCN_FWD(args)...);
4287
494
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
4288
1.12k
            value);
4289
1.12k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
630
    {
4280
630
        SCN_UNUSED(loc);
4281
4282
630
        float_reader<CharT> rd{};
4283
630
        return read_impl<Range>(
4284
630
            range, rd,
4285
630
            [](float_reader<CharT>& r, auto&&... args) {
4286
630
                return r.read_source(SCN_FWD(args)...);
4287
630
            },
4288
630
            value);
4289
630
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
494
    {
4280
494
        SCN_UNUSED(loc);
4281
4282
494
        float_reader<CharT> rd{};
4283
494
        return read_impl<Range>(
4284
494
            range, rd,
4285
494
            [](float_reader<CharT>& r, auto&&... args) {
4286
494
                return r.read_source(SCN_FWD(args)...);
4287
494
            },
4288
494
            value);
4289
494
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
4290
4291
    template <typename Range, typename T>
4292
    auto read_specs(Range range,
4293
                    const detail::format_specs& specs,
4294
                    T& value,
4295
                    detail::locale_ref loc)
4296
        -> scan_expected<ranges::const_iterator_t<Range>>
4297
1.28k
    {
4298
1.28k
        float_reader<CharT> rd{get_options(specs)};
4299
4300
1.28k
#if !SCN_DISABLE_LOCALE
4301
1.28k
        if (specs.localized) {
4302
50
            return read_impl<Range>(
4303
50
                range, rd,
4304
50
                [](float_reader<CharT>& r, auto&&... args) {
4305
50
                    return r.read_source_localized(SCN_FWD(args)...);
4306
50
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
4307
50
                value, loc);
4308
50
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
1.23k
        return read_impl<Range>(
4314
1.23k
            range, rd,
4315
1.23k
            [](float_reader<CharT>& r, auto&&... args) {
4316
1.23k
                return r.read_source(SCN_FWD(args)...);
4317
1.23k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
348
            [](float_reader<CharT>& r, auto&&... args) {
4316
348
                return r.read_source(SCN_FWD(args)...);
4317
348
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
290
            [](float_reader<CharT>& r, auto&&... args) {
4316
290
                return r.read_source(SCN_FWD(args)...);
4317
290
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
172
            [](float_reader<CharT>& r, auto&&... args) {
4316
172
                return r.read_source(SCN_FWD(args)...);
4317
172
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
422
            [](float_reader<CharT>& r, auto&&... args) {
4316
422
                return r.read_source(SCN_FWD(args)...);
4317
422
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
4318
1.23k
            value);
4319
1.28k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
360
    {
4298
360
        float_reader<CharT> rd{get_options(specs)};
4299
4300
360
#if !SCN_DISABLE_LOCALE
4301
360
        if (specs.localized) {
4302
12
            return read_impl<Range>(
4303
12
                range, rd,
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
4307
12
                value, loc);
4308
12
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
348
        return read_impl<Range>(
4314
348
            range, rd,
4315
348
            [](float_reader<CharT>& r, auto&&... args) {
4316
348
                return r.read_source(SCN_FWD(args)...);
4317
348
            },
4318
348
            value);
4319
360
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
296
    {
4298
296
        float_reader<CharT> rd{get_options(specs)};
4299
4300
296
#if !SCN_DISABLE_LOCALE
4301
296
        if (specs.localized) {
4302
6
            return read_impl<Range>(
4303
6
                range, rd,
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
4307
6
                value, loc);
4308
6
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
290
        return read_impl<Range>(
4314
290
            range, rd,
4315
290
            [](float_reader<CharT>& r, auto&&... args) {
4316
290
                return r.read_source(SCN_FWD(args)...);
4317
290
            },
4318
290
            value);
4319
296
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
188
    {
4298
188
        float_reader<CharT> rd{get_options(specs)};
4299
4300
188
#if !SCN_DISABLE_LOCALE
4301
188
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
172
        return read_impl<Range>(
4314
172
            range, rd,
4315
172
            [](float_reader<CharT>& r, auto&&... args) {
4316
172
                return r.read_source(SCN_FWD(args)...);
4317
172
            },
4318
172
            value);
4319
188
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
438
    {
4298
438
        float_reader<CharT> rd{get_options(specs)};
4299
4300
438
#if !SCN_DISABLE_LOCALE
4301
438
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
422
        return read_impl<Range>(
4314
422
            range, rd,
4315
422
            [](float_reader<CharT>& r, auto&&... args) {
4316
422
                return r.read_source(SCN_FWD(args)...);
4317
422
            },
4318
422
            value);
4319
438
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
4320
4321
private:
4322
    template <typename Range>
4323
    using read_source_callback_type =
4324
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4325
                                                       Range,
4326
                                                       detail::locale_ref);
4327
4328
    template <typename Range, typename T>
4329
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4330
        Range range,
4331
        float_reader<CharT>& rd,
4332
        function_ref<read_source_callback_type<Range>> read_source_cb,
4333
        T& value,
4334
        detail::locale_ref loc = {})
4335
2.40k
    {
4336
2.40k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
2.40k
            SCN_UNLIKELY(!r)) {
4338
568
            return unexpected(r.error());
4339
568
        }
4340
4341
1.83k
        SCN_TRY(n, rd.parse_value(value));
4342
90
        return ranges::next(range.begin(), n);
4343
1.83k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
360
    {
4336
360
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
360
            SCN_UNLIKELY(!r)) {
4338
360
            return unexpected(r.error());
4339
360
        }
4340
4341
0
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
0
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
926
    {
4336
926
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
926
            SCN_UNLIKELY(!r)) {
4338
22
            return unexpected(r.error());
4339
22
        }
4340
4341
904
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
904
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
188
    {
4336
188
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
188
            SCN_UNLIKELY(!r)) {
4338
168
            return unexpected(r.error());
4339
168
        }
4340
4341
20
        SCN_TRY(n, rd.parse_value(value));
4342
20
        return ranges::next(range.begin(), n);
4343
20
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
932
    {
4336
932
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
932
            SCN_UNLIKELY(!r)) {
4338
18
            return unexpected(r.error());
4339
18
        }
4340
4341
914
        SCN_TRY(n, rd.parse_value(value));
4342
70
        return ranges::next(range.begin(), n);
4343
914
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
4344
4345
    static unsigned get_options(const detail::format_specs& specs)
4346
1.28k
    {
4347
1.28k
        unsigned options{};
4348
1.28k
        if (specs.localized) {
4349
50
            options |= float_reader_base::allow_thsep;
4350
50
        }
4351
4352
1.28k
        SCN_GCC_COMPAT_PUSH
4353
1.28k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
1.28k
        switch (specs.type) {
4356
48
            case detail::presentation_type::float_fixed:
4357
48
                return options | float_reader_base::allow_fixed;
4358
4359
24
            case detail::presentation_type::float_scientific:
4360
24
                return options | float_reader_base::allow_scientific;
4361
4362
84
            case detail::presentation_type::float_hex:
4363
84
                return options | float_reader_base::allow_hex;
4364
4365
14
            case detail::presentation_type::float_general:
4366
14
                return options | float_reader_base::allow_scientific |
4367
14
                       float_reader_base::allow_fixed;
4368
4369
1.11k
            case detail::presentation_type::none:
4370
1.11k
                return options | float_reader_base::allow_scientific |
4371
1.11k
                       float_reader_base::allow_fixed |
4372
1.11k
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
1.28k
                SCN_UNREACHABLE;
4377
1.28k
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
1.28k
    }
scn::v4::impl::reader_impl_for_float<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
656
    {
4347
656
        unsigned options{};
4348
656
        if (specs.localized) {
4349
18
            options |= float_reader_base::allow_thsep;
4350
18
        }
4351
4352
656
        SCN_GCC_COMPAT_PUSH
4353
656
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
656
        switch (specs.type) {
4356
28
            case detail::presentation_type::float_fixed:
4357
28
                return options | float_reader_base::allow_fixed;
4358
4359
14
            case detail::presentation_type::float_scientific:
4360
14
                return options | float_reader_base::allow_scientific;
4361
4362
16
            case detail::presentation_type::float_hex:
4363
16
                return options | float_reader_base::allow_hex;
4364
4365
12
            case detail::presentation_type::float_general:
4366
12
                return options | float_reader_base::allow_scientific |
4367
12
                       float_reader_base::allow_fixed;
4368
4369
586
            case detail::presentation_type::none:
4370
586
                return options | float_reader_base::allow_scientific |
4371
586
                       float_reader_base::allow_fixed |
4372
586
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
656
                SCN_UNREACHABLE;
4377
656
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
656
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
626
    {
4347
626
        unsigned options{};
4348
626
        if (specs.localized) {
4349
32
            options |= float_reader_base::allow_thsep;
4350
32
        }
4351
4352
626
        SCN_GCC_COMPAT_PUSH
4353
626
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
626
        switch (specs.type) {
4356
20
            case detail::presentation_type::float_fixed:
4357
20
                return options | float_reader_base::allow_fixed;
4358
4359
10
            case detail::presentation_type::float_scientific:
4360
10
                return options | float_reader_base::allow_scientific;
4361
4362
68
            case detail::presentation_type::float_hex:
4363
68
                return options | float_reader_base::allow_hex;
4364
4365
2
            case detail::presentation_type::float_general:
4366
2
                return options | float_reader_base::allow_scientific |
4367
2
                       float_reader_base::allow_fixed;
4368
4369
526
            case detail::presentation_type::none:
4370
526
                return options | float_reader_base::allow_scientific |
4371
526
                       float_reader_base::allow_fixed |
4372
526
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
626
                SCN_UNREACHABLE;
4377
626
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
626
    }
4381
};
4382
4383
/////////////////////////////////////////////////////////////////
4384
// Regex reader
4385
/////////////////////////////////////////////////////////////////
4386
4387
#if !SCN_DISABLE_REGEX
4388
4389
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4390
constexpr auto make_regex_flags(detail::regex_flags flags)
4391
    -> scan_expected<std::regex_constants::syntax_option_type>
4392
{
4393
    std::regex_constants::syntax_option_type result{};
4394
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4395
#if SCN_HAS_STD_REGEX_MULTILINE
4396
        result |= std::regex_constants::multiline;
4397
#else
4398
        return detail::unexpected_scan_error(
4399
            scan_error::invalid_format_string,
4400
            "/m flag for regex isn't supported by regex backend");
4401
#endif
4402
    }
4403
    if ((flags & detail::regex_flags::singleline) !=
4404
        detail::regex_flags::none) {
4405
        return detail::unexpected_scan_error(
4406
            scan_error::invalid_format_string,
4407
            "/s flag for regex isn't supported by regex backend");
4408
    }
4409
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4410
        result |= std::regex_constants::icase;
4411
    }
4412
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4413
        result |= std::regex_constants::nosubs;
4414
    }
4415
    return result;
4416
}
4417
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4418
constexpr auto make_regex_flags(detail::regex_flags flags)
4419
    -> boost::regex_constants::syntax_option_type
4420
{
4421
    boost::regex_constants::syntax_option_type result{};
4422
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4423
        result |= boost::regex_constants::no_mod_m;
4424
    }
4425
    if ((flags & detail::regex_flags::singleline) !=
4426
        detail::regex_flags::none) {
4427
        result |= boost::regex_constants::mod_s;
4428
    }
4429
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4430
        result |= boost::regex_constants::icase;
4431
    }
4432
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4433
        result |= boost::regex_constants::nosubs;
4434
    }
4435
    return result;
4436
}
4437
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4438
inline auto make_regex_flags(detail::regex_flags flags)
4439
    -> std::pair<RE2::Options, std::string_view>
4440
318
{
4441
318
    RE2::Options opt{RE2::Quiet};
4442
318
    std::string_view stringflags{};
4443
4444
318
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4445
306
        stringflags = "(?m)";
4446
306
    }
4447
318
    if ((flags & detail::regex_flags::singleline) !=
4448
318
        detail::regex_flags::none) {
4449
6
        opt.set_dot_nl(true);
4450
6
    }
4451
318
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4452
6
        opt.set_case_sensitive(false);
4453
6
    }
4454
318
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4455
6
        opt.set_never_capture(true);
4456
6
    }
4457
4458
318
    return {opt, stringflags};
4459
318
}
4460
#endif  // SCN_REGEX_BACKEND == ...
4461
4462
template <typename CharT, typename Input>
4463
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4464
                            detail::regex_flags flags,
4465
                            Input input)
4466
    -> scan_expected<ranges::iterator_t<Input>>
4467
318
{
4468
318
    static_assert(ranges::contiguous_range<Input> &&
4469
318
                  ranges::borrowed_range<Input> &&
4470
318
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
318
    std::string flagged_pattern{};
4548
318
    auto re = [&]() {
4549
318
        auto [opts, flagstr] = make_regex_flags(flags);
4550
318
        opts.set_never_capture(true);
4551
318
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
306
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
306
        flagged_pattern.append(flagstr);
4556
306
        flagged_pattern.append(pattern);
4557
306
        return re2::RE2{flagged_pattern, opts};
4558
318
    }();
Unexecuted instantiation: _ZZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_ENKUlvE_clEv
_ZZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_ENKUlvE_clEv
Line
Count
Source
4548
318
    auto re = [&]() {
4549
318
        auto [opts, flagstr] = make_regex_flags(flags);
4550
318
        opts.set_never_capture(true);
4551
318
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
306
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
306
        flagged_pattern.append(flagstr);
4556
306
        flagged_pattern.append(pattern);
4557
306
        return re2::RE2{flagged_pattern, opts};
4558
318
    }();
4559
318
    if (!re.ok()) {
4560
102
        return detail::unexpected_scan_error(
4561
102
            scan_error::invalid_format_string,
4562
102
            "Failed to parse regular expression");
4563
102
    }
4564
4565
216
    auto new_input = detail::make_string_view_from_pointers(
4566
216
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
216
    bool found = re2::RE2::Consume(&new_input, re);
4568
216
    if (!found) {
4569
126
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
126
                                             "Regular expression didn't match");
4571
126
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
216
#endif  // SCN_REGEX_BACKEND == ...
4574
216
}
Unexecuted instantiation: _ZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4467
318
{
4468
318
    static_assert(ranges::contiguous_range<Input> &&
4469
318
                  ranges::borrowed_range<Input> &&
4470
318
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
318
    std::string flagged_pattern{};
4548
318
    auto re = [&]() {
4549
318
        auto [opts, flagstr] = make_regex_flags(flags);
4550
318
        opts.set_never_capture(true);
4551
318
        if (flagstr.empty()) {
4552
318
            return re2::RE2{pattern, opts};
4553
318
        }
4554
318
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
318
        flagged_pattern.append(flagstr);
4556
318
        flagged_pattern.append(pattern);
4557
318
        return re2::RE2{flagged_pattern, opts};
4558
318
    }();
4559
318
    if (!re.ok()) {
4560
102
        return detail::unexpected_scan_error(
4561
102
            scan_error::invalid_format_string,
4562
102
            "Failed to parse regular expression");
4563
102
    }
4564
4565
216
    auto new_input = detail::make_string_view_from_pointers(
4566
216
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
216
    bool found = re2::RE2::Consume(&new_input, re);
4568
216
    if (!found) {
4569
126
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
126
                                             "Regular expression didn't match");
4571
126
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
216
#endif  // SCN_REGEX_BACKEND == ...
4574
216
}
4575
4576
template <typename CharT, typename Input>
4577
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4578
                             detail::regex_flags flags,
4579
                             Input input,
4580
                             basic_regex_matches<CharT>& value)
4581
    -> scan_expected<ranges::iterator_t<Input>>
4582
0
{
4583
0
    static_assert(ranges::contiguous_range<Input> &&
4584
0
                  ranges::borrowed_range<Input> &&
4585
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4586
4587
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4588
    std::basic_regex<CharT> re{};
4589
    try {
4590
        SCN_TRY(re_flags, make_regex_flags(flags));
4591
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4592
    }
4593
    catch (const std::regex_error&) {
4594
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4595
                                             "Invalid regex");
4596
    }
4597
4598
    std::match_results<const CharT*> matches{};
4599
    try {
4600
        bool found = std::regex_search(input.data(),
4601
                                       input.data() + input.size(), matches, re,
4602
                                       std::regex_constants::match_continuous);
4603
        if (!found || matches.prefix().matched) {
4604
            return detail::unexpected_scan_error(
4605
                scan_error::invalid_scanned_value,
4606
                "Regular expression didn't match");
4607
        }
4608
    }
4609
    catch (const std::regex_error&) {
4610
        return detail::unexpected_scan_error(
4611
            scan_error::invalid_format_string,
4612
            "Regex matching failed with an error");
4613
    }
4614
4615
    value.resize(matches.size());
4616
    std::transform(matches.begin(), matches.end(), value.begin(),
4617
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4618
                       if (!match.matched)
4619
                           return std::nullopt;
4620
                       return detail::make_string_view_from_pointers(
4621
                           match.first, match.second);
4622
                   });
4623
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4624
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4625
    std::vector<std::basic_string<CharT>> names;
4626
    for (size_t i = 0; i < pattern.size();) {
4627
        if constexpr (std::is_same_v<CharT, char>) {
4628
            i = pattern.find("(?<", i);
4629
        }
4630
        else {
4631
            i = pattern.find(L"(?<", i);
4632
        }
4633
4634
        if (i == std::basic_string_view<CharT>::npos) {
4635
            break;
4636
        }
4637
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4638
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4639
                i += 3;
4640
                continue;
4641
            }
4642
        }
4643
4644
        i += 3;
4645
        auto end_i = pattern.find(CharT{'>'}, i);
4646
        if (end_i == std::basic_string_view<CharT>::npos) {
4647
            break;
4648
        }
4649
        names.emplace_back(pattern.substr(i, end_i - i));
4650
    }
4651
4652
    auto re =
4653
#if SCN_REGEX_BOOST_USE_ICU
4654
        boost::make_u32regex(
4655
            pattern.data(), pattern.data() + pattern.size(),
4656
            make_regex_flags(flags) | boost::regex_constants::no_except);
4657
#else
4658
        boost::basic_regex<CharT>{
4659
            pattern.data(), pattern.size(),
4660
            make_regex_flags(flags) | boost::regex_constants::no_except};
4661
#endif
4662
    if (re.status() != 0) {
4663
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4664
                                             "Invalid regex");
4665
    }
4666
4667
    boost::match_results<const CharT*> matches{};
4668
    try {
4669
        bool found =
4670
#if SCN_REGEX_BOOST_USE_ICU
4671
            boost::u32regex_search(input.data(), input.data() + input.size(),
4672
                                   matches, re,
4673
                                   boost::regex_constants::match_continuous);
4674
#else
4675
            boost::regex_search(input.data(), input.data() + input.size(),
4676
                                matches, re,
4677
                                boost::regex_constants::match_continuous);
4678
#endif
4679
        if (!found || matches.prefix().matched) {
4680
            return detail::unexpected_scan_error(
4681
                scan_error::invalid_scanned_value,
4682
                "Regular expression didn't match");
4683
        }
4684
    }
4685
    catch (const std::runtime_error&) {
4686
        return detail::unexpected_scan_error(
4687
            scan_error::invalid_format_string,
4688
            "Regex matching failed with an error");
4689
    }
4690
4691
    value.resize(matches.size());
4692
    std::transform(
4693
        matches.begin(), matches.end(), value.begin(),
4694
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4695
            if (!match.matched)
4696
                return std::nullopt;
4697
            auto sv = detail::make_string_view_from_pointers(match.first,
4698
                                                             match.second);
4699
4700
            if (auto name_it = std::find_if(
4701
                    names.begin(), names.end(),
4702
                    [&](const auto& name) { return match == matches[name]; });
4703
                name_it != names.end()) {
4704
                return basic_regex_match<CharT>{sv, *name_it};
4705
            }
4706
            return sv;
4707
        });
4708
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4709
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4710
    static_assert(std::is_same_v<CharT, char>);
4711
0
    std::string flagged_pattern{};
4712
0
    auto re = [&]() {
4713
0
        auto [opts, flagstr] = make_regex_flags(flags);
4714
0
        if (flagstr.empty()) {
4715
0
            return re2::RE2{pattern, opts};
4716
0
        }
4717
0
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4718
0
        flagged_pattern.append(flagstr);
4719
0
        flagged_pattern.append(pattern);
4720
0
        return re2::RE2{flagged_pattern, opts};
4721
0
    }();
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlvE_clEv
4722
0
    if (!re.ok()) {
4723
0
        return detail::unexpected_scan_error(
4724
0
            scan_error::invalid_format_string,
4725
0
            "Failed to parse regular expression");
4726
0
    }
4727
    // TODO: Optimize into a single batch allocation
4728
0
    const auto max_matches_n =
4729
0
        static_cast<size_t>(re.NumberOfCapturingGroups());
4730
0
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4731
0
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4732
0
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4733
0
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4734
0
                   [](auto& val) { return re2::RE2::Arg{&val}; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E_clINS3_8optionalIS7_EEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E_clINSF_8optionalINSG_IcNSI_IcEEEEEEEEDaSQ_
4735
0
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4736
0
                   [](auto& arg) { return &arg; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E0_clIN3re23RE23ArgEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E0_clIN3re23RE23ArgEEEDaSQ_
4737
0
    auto new_input = detail::make_string_view_from_pointers(
4738
0
        detail::to_address(input.begin()), detail::to_address(input.end()));
4739
0
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4740
0
                                    match_argptrs.size());
4741
0
    if (!found) {
4742
0
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4743
0
                                             "Regular expression didn't match");
4744
0
    }
4745
0
    value.resize(matches.size() + 1);
4746
0
    value[0] =
4747
0
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4748
0
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4749
0
                   [&](auto&& match) -> std::optional<regex_match> {
4750
0
                       if (!match)
4751
0
                           return std::nullopt;
4752
0
                       return *match;
4753
0
                   });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRNS3_8optionalIS7_EEEENSP_INS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRNSF_8optionalINSG_IcNSI_IcEEEEEEEENST_INS0_17basic_regex_matchIcEEEESQ_
4754
0
    {
4755
0
        const auto& capturing_groups = re.CapturingGroupNames();
4756
0
        for (size_t i = 1; i < value.size(); ++i) {
4757
0
            if (auto it = capturing_groups.find(static_cast<int>(i));
4758
0
                it != capturing_groups.end()) {
4759
0
                auto val = value[i]->get();
4760
0
                value[i].emplace(val, it->second);
4761
0
            };
4762
0
        }
4763
0
    }
4764
0
    return input.begin() + ranges::distance(input.data(), new_input.data());
4765
0
#endif  // SCN_REGEX_BACKEND == ...
4766
0
}
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4767
4768
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4769
408
{
4770
408
    std::string result{pattern};
4771
4.21k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4772
3.80k
        result.replace(n, 2, "/");
4773
3.80k
        ++n;
4774
3.80k
    }
4775
408
    return result;
4776
408
}
4777
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4778
0
{
4779
0
    std::wstring result{pattern};
4780
0
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4781
0
        result.replace(n, 2, L"/");
4782
0
        ++n;
4783
0
    }
4784
0
    return result;
4785
0
}
4786
4787
template <typename SourceCharT>
4788
struct regex_matches_reader
4789
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4790
    void check_specs_impl(const detail::format_specs& specs,
4791
                          reader_error_handler& eh)
4792
0
    {
4793
0
        detail::check_regex_type_specs(specs, eh);
4794
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4795
0
        SCN_EXPECT(specs.charset_string_size > 0);
4796
0
    }
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
4797
4798
    template <typename Range, typename DestCharT>
4799
    auto read_default(Range,
4800
                      basic_regex_matches<DestCharT>&,
4801
                      detail::locale_ref = {})
4802
        -> scan_expected<ranges::const_iterator_t<Range>>
4803
    {
4804
        return detail::unexpected_scan_error(
4805
            scan_error::invalid_format_string,
4806
            "No regex given in format string for scanning regex_matches");
4807
    }
4808
4809
    template <typename Range, typename DestCharT>
4810
    auto read_specs(Range range,
4811
                    const detail::format_specs& specs,
4812
                    basic_regex_matches<DestCharT>& value,
4813
                    detail::locale_ref = {})
4814
        -> scan_expected<ranges::const_iterator_t<Range>>
4815
0
    {
4816
0
        SCN_UNUSED(range);
4817
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4818
0
            return detail::unexpected_scan_error(
4819
0
                scan_error::invalid_format_string,
4820
0
                "Cannot transcode is regex_matches_reader");
4821
        }
4822
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4823
0
                           !std::is_same_v<SourceCharT, char>) {
4824
0
            return detail::unexpected_scan_error(
4825
0
                scan_error::invalid_format_string,
4826
0
                "Regex backend doesn't support wide strings as input");
4827
        }
4828
0
        else {
4829
0
            if (!is_entire_source_contiguous(range)) {
4830
0
                return detail::unexpected_scan_error(
4831
0
                    scan_error::invalid_format_string,
4832
0
                    "Cannot use regex with a non-contiguous source "
4833
0
                    "range");
4834
0
            }
4835
4836
0
            auto input = get_as_contiguous(range);
4837
0
            SCN_TRY(it,
4838
0
                    impl(input,
4839
0
                         specs.type == detail::presentation_type::regex_escaped,
4840
0
                         specs.charset_string<SourceCharT>(),
4841
0
                         specs.regexp_flags, value));
4842
0
            return ranges::next(range.begin(),
4843
0
                                ranges::distance(input.begin(), it));
4844
0
        }
4845
0
    }
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4846
4847
private:
4848
    template <typename Range, typename DestCharT>
4849
    auto impl(Range input,
4850
              bool is_escaped,
4851
              std::basic_string_view<SourceCharT> pattern,
4852
              detail::regex_flags flags,
4853
              basic_regex_matches<DestCharT>& value)
4854
0
    {
4855
        if constexpr (detail::is_type_disabled<
4856
                          basic_regex_matches<DestCharT>>) {
4857
            SCN_EXPECT(false);
4858
            SCN_UNREACHABLE;
4859
        }
4860
0
        else {
4861
0
            if (is_escaped) {
4862
0
                return read_regex_matches_impl<SourceCharT>(
4863
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4864
0
            }
4865
0
            return read_regex_matches_impl(pattern, flags, input, value);
4866
0
        }
4867
0
    }
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
4868
};
4869
4870
template <typename CharT>
4871
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4872
4873
#endif  // !SCN_DISABLE_REGEX
4874
4875
/////////////////////////////////////////////////////////////////
4876
// String reader
4877
/////////////////////////////////////////////////////////////////
4878
4879
template <typename Range, typename Iterator, typename ValueCharT>
4880
auto read_string_impl(Range range,
4881
                      Iterator&& result,
4882
                      std::basic_string<ValueCharT>& value)
4883
    -> scan_expected<ranges::const_iterator_t<Range>>
4884
7.44k
{
4885
7.44k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
7.44k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
7.44k
    if (!validate_unicode(src.view())) {
4889
1.94k
        return detail::unexpected_scan_error(
4890
1.94k
            scan_error::invalid_scanned_value,
4891
1.94k
            "Invalid encoding in scanned string");
4892
1.94k
    }
4893
4894
5.49k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
5.49k
    return SCN_MOVE(result);
4896
5.49k
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
476
{
4885
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
476
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
476
    if (!validate_unicode(src.view())) {
4889
176
        return detail::unexpected_scan_error(
4890
176
            scan_error::invalid_scanned_value,
4891
176
            "Invalid encoding in scanned string");
4892
176
    }
4893
4894
300
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
300
    return SCN_MOVE(result);
4896
300
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
272
{
4885
272
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
272
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
272
    if (!validate_unicode(src.view())) {
4889
94
        return detail::unexpected_scan_error(
4890
94
            scan_error::invalid_scanned_value,
4891
94
            "Invalid encoding in scanned string");
4892
94
    }
4893
4894
178
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
178
    return SCN_MOVE(result);
4896
178
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.02k
{
4885
1.02k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.02k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.02k
    if (!validate_unicode(src.view())) {
4889
328
        return detail::unexpected_scan_error(
4890
328
            scan_error::invalid_scanned_value,
4891
328
            "Invalid encoding in scanned string");
4892
328
    }
4893
4894
694
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
694
    return SCN_MOVE(result);
4896
694
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
506
{
4885
506
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
506
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
506
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
454
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
454
    return SCN_MOVE(result);
4896
454
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
476
{
4885
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
476
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
476
    if (!validate_unicode(src.view())) {
4889
176
        return detail::unexpected_scan_error(
4890
176
            scan_error::invalid_scanned_value,
4891
176
            "Invalid encoding in scanned string");
4892
176
    }
4893
4894
300
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
300
    return SCN_MOVE(result);
4896
300
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
272
{
4885
272
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
272
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
272
    if (!validate_unicode(src.view())) {
4889
94
        return detail::unexpected_scan_error(
4890
94
            scan_error::invalid_scanned_value,
4891
94
            "Invalid encoding in scanned string");
4892
94
    }
4893
4894
178
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
178
    return SCN_MOVE(result);
4896
178
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.02k
{
4885
1.02k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.02k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.02k
    if (!validate_unicode(src.view())) {
4889
328
        return detail::unexpected_scan_error(
4890
328
            scan_error::invalid_scanned_value,
4891
328
            "Invalid encoding in scanned string");
4892
328
    }
4893
4894
694
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
694
    return SCN_MOVE(result);
4896
694
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
506
{
4885
506
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
506
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
506
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
454
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
454
    return SCN_MOVE(result);
4896
454
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
208
{
4885
208
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
208
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
208
    if (!validate_unicode(src.view())) {
4889
70
        return detail::unexpected_scan_error(
4890
70
            scan_error::invalid_scanned_value,
4891
70
            "Invalid encoding in scanned string");
4892
70
    }
4893
4894
138
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
138
    return SCN_MOVE(result);
4896
138
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
162
{
4885
162
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
162
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
162
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
158
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
158
    return SCN_MOVE(result);
4896
158
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
902
{
4885
902
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
902
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
902
    if (!validate_unicode(src.view())) {
4889
244
        return detail::unexpected_scan_error(
4890
244
            scan_error::invalid_scanned_value,
4891
244
            "Invalid encoding in scanned string");
4892
244
    }
4893
4894
658
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
658
    return SCN_MOVE(result);
4896
658
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
174
{
4885
174
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
174
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
174
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
168
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
168
    return SCN_MOVE(result);
4896
168
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
208
{
4885
208
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
208
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
208
    if (!validate_unicode(src.view())) {
4889
70
        return detail::unexpected_scan_error(
4890
70
            scan_error::invalid_scanned_value,
4891
70
            "Invalid encoding in scanned string");
4892
70
    }
4893
4894
138
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
138
    return SCN_MOVE(result);
4896
138
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
162
{
4885
162
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
162
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
162
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
158
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
158
    return SCN_MOVE(result);
4896
158
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
902
{
4885
902
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
902
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
902
    if (!validate_unicode(src.view())) {
4889
244
        return detail::unexpected_scan_error(
4890
244
            scan_error::invalid_scanned_value,
4891
244
            "Invalid encoding in scanned string");
4892
244
    }
4893
4894
658
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
658
    return SCN_MOVE(result);
4896
658
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
174
{
4885
174
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
174
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
174
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
168
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
168
    return SCN_MOVE(result);
4896
168
}
4897
4898
template <typename Range, typename Iterator, typename ValueCharT>
4899
auto read_string_view_impl(Range range,
4900
                           Iterator&& result,
4901
                           std::basic_string_view<ValueCharT>& value)
4902
    -> scan_expected<ranges::const_iterator_t<Range>>
4903
3.72k
{
4904
3.72k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
3.72k
    auto src = [&]() {
4907
3.72k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.11k
            return make_contiguous_buffer(
4909
1.11k
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
2.60k
        else {
4912
2.60k
            return make_contiguous_buffer(
4913
2.60k
                ranges::subrange{range.begin(), result});
4914
2.60k
        }
4915
3.72k
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
476
    auto src = [&]() {
4907
476
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
476
            return make_contiguous_buffer(
4909
476
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
476
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
272
    auto src = [&]() {
4907
272
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
272
            return make_contiguous_buffer(
4909
272
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
272
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
1.02k
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
1.02k
        else {
4912
1.02k
            return make_contiguous_buffer(
4913
1.02k
                ranges::subrange{range.begin(), result});
4914
1.02k
        }
4915
1.02k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
506
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
506
        else {
4912
506
            return make_contiguous_buffer(
4913
506
                ranges::subrange{range.begin(), result});
4914
506
        }
4915
506
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
208
    auto src = [&]() {
4907
208
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
208
            return make_contiguous_buffer(
4909
208
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
208
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
162
    auto src = [&]() {
4907
162
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
162
            return make_contiguous_buffer(
4909
162
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
162
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
902
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
902
        else {
4912
902
            return make_contiguous_buffer(
4913
902
                ranges::subrange{range.begin(), result});
4914
902
        }
4915
902
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
174
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
174
        else {
4912
174
            return make_contiguous_buffer(
4913
174
                ranges::subrange{range.begin(), result});
4914
174
        }
4915
174
    }();
4916
3.72k
    using src_type = decltype(src);
4917
4918
3.72k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
3.72k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
0
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
0
                                             "Cannot read a string_view from "
4927
0
                                             "this source range (would require "
4928
0
                                             "transcoding)");
4929
    }
4930
3.72k
    else {
4931
3.72k
        const auto view = src.view();
4932
3.72k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
3.72k
        if (!validate_unicode(value)) {
4935
974
            return detail::unexpected_scan_error(
4936
974
                scan_error::invalid_scanned_value,
4937
974
                "Invalid encoding in scanned string_view");
4938
974
        }
4939
4940
2.74k
        return SCN_MOVE(result);
4941
3.72k
    }
4942
3.72k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
476
{
4904
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
476
    auto src = [&]() {
4907
476
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
476
            return make_contiguous_buffer(
4909
476
                ranges::subrange{range.begin().base(), result.base()});
4910
476
        }
4911
476
        else {
4912
476
            return make_contiguous_buffer(
4913
476
                ranges::subrange{range.begin(), result});
4914
476
        }
4915
476
    }();
4916
476
    using src_type = decltype(src);
4917
4918
476
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
476
    else {
4931
476
        const auto view = src.view();
4932
476
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
476
        if (!validate_unicode(value)) {
4935
176
            return detail::unexpected_scan_error(
4936
176
                scan_error::invalid_scanned_value,
4937
176
                "Invalid encoding in scanned string_view");
4938
176
        }
4939
4940
300
        return SCN_MOVE(result);
4941
476
    }
4942
476
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
272
{
4904
272
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
272
    auto src = [&]() {
4907
272
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
272
            return make_contiguous_buffer(
4909
272
                ranges::subrange{range.begin().base(), result.base()});
4910
272
        }
4911
272
        else {
4912
272
            return make_contiguous_buffer(
4913
272
                ranges::subrange{range.begin(), result});
4914
272
        }
4915
272
    }();
4916
272
    using src_type = decltype(src);
4917
4918
272
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
272
    else {
4931
272
        const auto view = src.view();
4932
272
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
272
        if (!validate_unicode(value)) {
4935
94
            return detail::unexpected_scan_error(
4936
94
                scan_error::invalid_scanned_value,
4937
94
                "Invalid encoding in scanned string_view");
4938
94
        }
4939
4940
178
        return SCN_MOVE(result);
4941
272
    }
4942
272
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
1.02k
{
4904
1.02k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
1.02k
    auto src = [&]() {
4907
1.02k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.02k
            return make_contiguous_buffer(
4909
1.02k
                ranges::subrange{range.begin().base(), result.base()});
4910
1.02k
        }
4911
1.02k
        else {
4912
1.02k
            return make_contiguous_buffer(
4913
1.02k
                ranges::subrange{range.begin(), result});
4914
1.02k
        }
4915
1.02k
    }();
4916
1.02k
    using src_type = decltype(src);
4917
4918
1.02k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
1.02k
    else {
4931
1.02k
        const auto view = src.view();
4932
1.02k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
1.02k
        if (!validate_unicode(value)) {
4935
328
            return detail::unexpected_scan_error(
4936
328
                scan_error::invalid_scanned_value,
4937
328
                "Invalid encoding in scanned string_view");
4938
328
        }
4939
4940
694
        return SCN_MOVE(result);
4941
1.02k
    }
4942
1.02k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
506
{
4904
506
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
506
    auto src = [&]() {
4907
506
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
506
            return make_contiguous_buffer(
4909
506
                ranges::subrange{range.begin().base(), result.base()});
4910
506
        }
4911
506
        else {
4912
506
            return make_contiguous_buffer(
4913
506
                ranges::subrange{range.begin(), result});
4914
506
        }
4915
506
    }();
4916
506
    using src_type = decltype(src);
4917
4918
506
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
506
    else {
4931
506
        const auto view = src.view();
4932
506
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
506
        if (!validate_unicode(value)) {
4935
52
            return detail::unexpected_scan_error(
4936
52
                scan_error::invalid_scanned_value,
4937
52
                "Invalid encoding in scanned string_view");
4938
52
        }
4939
4940
454
        return SCN_MOVE(result);
4941
506
    }
4942
506
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
208
{
4904
208
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
208
    auto src = [&]() {
4907
208
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
208
            return make_contiguous_buffer(
4909
208
                ranges::subrange{range.begin().base(), result.base()});
4910
208
        }
4911
208
        else {
4912
208
            return make_contiguous_buffer(
4913
208
                ranges::subrange{range.begin(), result});
4914
208
        }
4915
208
    }();
4916
208
    using src_type = decltype(src);
4917
4918
208
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
208
    else {
4931
208
        const auto view = src.view();
4932
208
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
208
        if (!validate_unicode(value)) {
4935
70
            return detail::unexpected_scan_error(
4936
70
                scan_error::invalid_scanned_value,
4937
70
                "Invalid encoding in scanned string_view");
4938
70
        }
4939
4940
138
        return SCN_MOVE(result);
4941
208
    }
4942
208
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
162
{
4904
162
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
162
    auto src = [&]() {
4907
162
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
162
            return make_contiguous_buffer(
4909
162
                ranges::subrange{range.begin().base(), result.base()});
4910
162
        }
4911
162
        else {
4912
162
            return make_contiguous_buffer(
4913
162
                ranges::subrange{range.begin(), result});
4914
162
        }
4915
162
    }();
4916
162
    using src_type = decltype(src);
4917
4918
162
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
162
    else {
4931
162
        const auto view = src.view();
4932
162
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
162
        if (!validate_unicode(value)) {
4935
4
            return detail::unexpected_scan_error(
4936
4
                scan_error::invalid_scanned_value,
4937
4
                "Invalid encoding in scanned string_view");
4938
4
        }
4939
4940
158
        return SCN_MOVE(result);
4941
162
    }
4942
162
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
902
{
4904
902
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
902
    auto src = [&]() {
4907
902
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
902
            return make_contiguous_buffer(
4909
902
                ranges::subrange{range.begin().base(), result.base()});
4910
902
        }
4911
902
        else {
4912
902
            return make_contiguous_buffer(
4913
902
                ranges::subrange{range.begin(), result});
4914
902
        }
4915
902
    }();
4916
902
    using src_type = decltype(src);
4917
4918
902
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
902
    else {
4931
902
        const auto view = src.view();
4932
902
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
902
        if (!validate_unicode(value)) {
4935
244
            return detail::unexpected_scan_error(
4936
244
                scan_error::invalid_scanned_value,
4937
244
                "Invalid encoding in scanned string_view");
4938
244
        }
4939
4940
658
        return SCN_MOVE(result);
4941
902
    }
4942
902
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
174
{
4904
174
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
174
    auto src = [&]() {
4907
174
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
174
            return make_contiguous_buffer(
4909
174
                ranges::subrange{range.begin().base(), result.base()});
4910
174
        }
4911
174
        else {
4912
174
            return make_contiguous_buffer(
4913
174
                ranges::subrange{range.begin(), result});
4914
174
        }
4915
174
    }();
4916
174
    using src_type = decltype(src);
4917
4918
174
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
174
    else {
4931
174
        const auto view = src.view();
4932
174
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
174
        if (!validate_unicode(value)) {
4935
6
            return detail::unexpected_scan_error(
4936
6
                scan_error::invalid_scanned_value,
4937
6
                "Invalid encoding in scanned string_view");
4938
6
        }
4939
4940
168
        return SCN_MOVE(result);
4941
174
    }
4942
174
}
4943
4944
template <typename SourceCharT>
4945
class word_reader_impl {
4946
public:
4947
    template <typename Range, typename ValueCharT>
4948
    auto read(Range range, std::basic_string<ValueCharT>& value)
4949
        -> scan_expected<ranges::const_iterator_t<Range>>
4950
4.60k
    {
4951
4.60k
        return read_string_impl(range, read_until_classic_space(range), value);
4952
4.60k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
316
    {
4951
316
        return read_string_impl(range, read_until_classic_space(range), value);
4952
316
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
968
    {
4951
968
        return read_string_impl(range, read_until_classic_space(range), value);
4952
968
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
316
    {
4951
316
        return read_string_impl(range, read_until_classic_space(range), value);
4952
316
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
968
    {
4951
968
        return read_string_impl(range, read_until_classic_space(range), value);
4952
968
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
150
    {
4951
150
        return read_string_impl(range, read_until_classic_space(range), value);
4952
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
870
    {
4951
870
        return read_string_impl(range, read_until_classic_space(range), value);
4952
870
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
150
    {
4951
150
        return read_string_impl(range, read_until_classic_space(range), value);
4952
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
870
    {
4951
870
        return read_string_impl(range, read_until_classic_space(range), value);
4952
870
    }
4953
4954
    template <typename Range, typename ValueCharT>
4955
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4956
        -> scan_expected<ranges::const_iterator_t<Range>>
4957
2.30k
    {
4958
2.30k
        return read_string_view_impl(range, read_until_classic_space(range),
4959
2.30k
                                     value);
4960
2.30k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
316
    {
4958
316
        return read_string_view_impl(range, read_until_classic_space(range),
4959
316
                                     value);
4960
316
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
968
    {
4958
968
        return read_string_view_impl(range, read_until_classic_space(range),
4959
968
                                     value);
4960
968
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
150
    {
4958
150
        return read_string_view_impl(range, read_until_classic_space(range),
4959
150
                                     value);
4960
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
870
    {
4958
870
        return read_string_view_impl(range, read_until_classic_space(range),
4959
870
                                     value);
4960
870
    }
4961
};
4962
4963
template <typename SourceCharT>
4964
class custom_word_reader_impl {
4965
public:
4966
    template <typename Range, typename ValueCharT>
4967
    auto read(Range range,
4968
              const detail::format_specs& specs,
4969
              std::basic_string<ValueCharT>& value)
4970
        -> scan_expected<ranges::const_iterator_t<Range>>
4971
440
    {
4972
440
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
272
            return read_string_impl(
4974
272
                range,
4975
272
                read_until_code_unit(
4976
272
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
272
                value);
4978
272
        }
4979
168
        return read_string_impl(
4980
168
            range,
4981
168
            read_until_code_units(
4982
168
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
168
            value);
4984
440
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
102
    {
4972
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
54
        return read_string_impl(
4980
54
            range,
4981
54
            read_until_code_units(
4982
54
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
54
            value);
4984
102
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
54
    {
4972
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
24
            return read_string_impl(
4974
24
                range,
4975
24
                read_until_code_unit(
4976
24
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
24
                value);
4978
24
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
54
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
102
    {
4972
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
54
        return read_string_impl(
4980
54
            range,
4981
54
            read_until_code_units(
4982
54
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
54
            value);
4984
102
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
54
    {
4972
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
24
            return read_string_impl(
4974
24
                range,
4975
24
                read_until_code_unit(
4976
24
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
24
                value);
4978
24
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
54
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
4985
4986
    template <typename Range, typename ValueCharT>
4987
    auto read(Range range,
4988
              const detail::format_specs& specs,
4989
              std::basic_string_view<ValueCharT>& value)
4990
        -> scan_expected<ranges::const_iterator_t<Range>>
4991
220
    {
4992
220
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
136
            return read_string_view_impl(
4994
136
                range,
4995
136
                read_until_code_unit(
4996
136
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
136
                value);
4998
136
        }
4999
84
        return read_string_view_impl(
5000
84
            range,
5001
84
            read_until_code_units(
5002
84
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
84
            value);
5004
220
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
102
    {
4992
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
48
            return read_string_view_impl(
4994
48
                range,
4995
48
                read_until_code_unit(
4996
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
48
                value);
4998
48
        }
4999
54
        return read_string_view_impl(
5000
54
            range,
5001
54
            read_until_code_units(
5002
54
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
54
            value);
5004
102
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
54
    {
4992
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
24
            return read_string_view_impl(
4994
24
                range,
4995
24
                read_until_code_unit(
4996
24
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
24
                value);
4998
24
        }
4999
30
        return read_string_view_impl(
5000
30
            range,
5001
30
            read_until_code_units(
5002
30
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
30
            value);
5004
54
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
32
    {
4992
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
32
            return read_string_view_impl(
4994
32
                range,
4995
32
                read_until_code_unit(
4996
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
32
                value);
4998
32
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
32
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
32
    {
4992
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
32
            return read_string_view_impl(
4994
32
                range,
4995
32
                read_until_code_unit(
4996
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
32
                value);
4998
32
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
32
    }
5005
};
5006
5007
#if !SCN_DISABLE_REGEX
5008
template <typename SourceCharT>
5009
class regex_string_reader_impl {
5010
public:
5011
    template <typename Range, typename ValueCharT>
5012
    auto read(Range range,
5013
              std::basic_string_view<SourceCharT> pattern,
5014
              detail::regex_flags flags,
5015
              std::basic_string<ValueCharT>& value)
5016
        -> scan_expected<ranges::const_iterator_t<Range>>
5017
340
    {
5018
340
        SCN_TRY(it, impl(range, pattern, flags));
5019
60
        return read_string_impl(range, it, value);
5020
340
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
64
    {
5018
64
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
64
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
106
    {
5018
106
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
106
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
64
    {
5018
64
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
64
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
106
    {
5018
106
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
106
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
5021
5022
    template <typename Range, typename ValueCharT>
5023
    auto read(Range range,
5024
              std::basic_string_view<SourceCharT> pattern,
5025
              detail::regex_flags flags,
5026
              std::basic_string_view<ValueCharT>& value)
5027
        -> scan_expected<ranges::const_iterator_t<Range>>
5028
170
    {
5029
170
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
170
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
5028
64
    {
5029
64
        SCN_TRY(it, impl(range, pattern, flags));
5030
0
        return read_string_view_impl(range, it, value);
5031
64
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
5028
106
    {
5029
106
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
106
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
5032
5033
private:
5034
    template <typename Range>
5035
    auto impl(Range range,
5036
              std::basic_string_view<SourceCharT> pattern,
5037
              detail::regex_flags flags)
5038
        -> scan_expected<ranges::const_iterator_t<Range>>
5039
510
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
0
                      !std::is_same_v<SourceCharT, char>) {
5042
0
            return detail::unexpected_scan_error(
5043
0
                scan_error::invalid_format_string,
5044
0
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
510
        else {
5047
510
            if (!is_entire_source_contiguous(range)) {
5048
192
                return detail::unexpected_scan_error(
5049
192
                    scan_error::invalid_format_string,
5050
192
                    "Cannot use regex with a non-contiguous source "
5051
192
                    "range");
5052
192
            }
5053
5054
318
            auto input = get_as_contiguous(range);
5055
318
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
318
        }
5060
510
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
192
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
192
        else {
5047
192
            if (!is_entire_source_contiguous(range)) {
5048
192
                return detail::unexpected_scan_error(
5049
192
                    scan_error::invalid_format_string,
5050
192
                    "Cannot use regex with a non-contiguous source "
5051
192
                    "range");
5052
192
            }
5053
5054
0
            auto input = get_as_contiguous(range);
5055
0
            SCN_TRY(it,
5056
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
0
            return ranges::next(range.begin(),
5058
0
                                ranges::distance(input.begin(), it));
5059
0
        }
5060
192
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
318
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
318
        else {
5047
318
            if (!is_entire_source_contiguous(range)) {
5048
0
                return detail::unexpected_scan_error(
5049
0
                    scan_error::invalid_format_string,
5050
0
                    "Cannot use regex with a non-contiguous source "
5051
0
                    "range");
5052
0
            }
5053
5054
318
            auto input = get_as_contiguous(range);
5055
318
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
318
        }
5060
318
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
5061
};
5062
#endif
5063
5064
template <typename SourceCharT>
5065
class character_reader_impl {
5066
public:
5067
    // Note: no localized version,
5068
    // since it's equivalent in behavior
5069
5070
    template <typename Range, typename ValueCharT>
5071
    auto read(Range range, std::basic_string<ValueCharT>& value)
5072
        -> scan_expected<ranges::const_iterator_t<Range>>
5073
168
    {
5074
168
        return read_impl(
5075
168
            range,
5076
168
            [&](const auto& rng) {
5077
168
                return read_string_impl(rng, read_all(rng), value);
5078
168
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
168
            detail::priority_tag<1>{});
5080
168
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
5081
5082
    template <typename Range, typename ValueCharT>
5083
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
5084
        -> scan_expected<ranges::const_iterator_t<Range>>
5085
84
    {
5086
84
        return read_impl(
5087
84
            range,
5088
84
            [&](const auto& rng) {
5089
84
                return read_string_view_impl(rng, read_all(rng), value);
5090
84
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
84
            detail::priority_tag<1>{});
5092
84
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
58
    {
5086
58
        return read_impl(
5087
58
            range,
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
5091
58
            detail::priority_tag<1>{});
5092
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
26
    {
5086
26
        return read_impl(
5087
26
            range,
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
26
            detail::priority_tag<1>{});
5092
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
5093
5094
private:
5095
    template <typename View, typename ReadCb>
5096
    static auto read_impl(const take_width_view<View>& range,
5097
                          ReadCb&& read_cb,
5098
                          detail::priority_tag<1>)
5099
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
5100
252
    {
5101
252
        return read_cb(range);
5102
252
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
5103
5104
    template <typename Range, typename ReadCb>
5105
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
5106
        -> scan_expected<ranges::const_iterator_t<Range>>
5107
0
    {
5108
0
        return detail::unexpected_scan_error(
5109
0
            scan_error::invalid_format_string,
5110
0
            "Cannot read characters {:c} without maximum field width");
5111
0
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
5112
};
5113
5114
struct nonascii_specs_handler {
5115
    void on_charset_single(char32_t cp)
5116
385k
    {
5117
385k
        on_charset_range(cp, cp + 1);
5118
385k
    }
5119
5120
    void on_charset_range(char32_t begin, char32_t end)
5121
388k
    {
5122
388k
        if (end <= 127) {
5123
192k
            return;
5124
192k
        }
5125
5126
38.6M
        for (auto& elem : extra_ranges) {
5127
            // TODO: check for overlap
5128
38.6M
            if (elem.first == end) {
5129
540
                elem.first = begin;
5130
540
                return;
5131
540
            }
5132
5133
38.6M
            if (elem.second == begin) {
5134
1.85k
                elem.second = end;
5135
1.85k
                return;
5136
1.85k
            }
5137
38.6M
        }
5138
5139
193k
        extra_ranges.push_back(std::make_pair(begin, end));
5140
193k
    }
5141
5142
    constexpr void on_charset_inverted() const
5143
840
    {
5144
        // no-op
5145
840
    }
5146
5147
    constexpr void on_error(const char* msg)
5148
0
    {
5149
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5150
0
    }
5151
    constexpr void on_error(scan_error e)
5152
0
    {
5153
0
        SCN_UNLIKELY_ATTR
5154
0
        err = unexpected(e);
5155
0
    }
5156
5157
    constexpr scan_expected<void> get_error() const
5158
395k
    {
5159
395k
        return err;
5160
395k
    }
5161
5162
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5163
    scan_expected<void> err;
5164
};
5165
5166
template <typename SourceCharT>
5167
class character_set_reader_impl {
5168
public:
5169
    template <typename Range, typename ValueCharT>
5170
    auto read(Range range,
5171
              const detail::format_specs& specs,
5172
              std::basic_string<ValueCharT>& value)
5173
        -> scan_expected<ranges::const_iterator_t<Range>>
5174
2.99k
    {
5175
2.99k
        auto it = read_source_impl(range, {specs});
5176
2.99k
        if (SCN_UNLIKELY(!it)) {
5177
824
            return unexpected(it.error());
5178
824
        }
5179
5180
2.16k
        return read_string_impl(range, *it, value);
5181
2.99k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
280
    {
5175
280
        auto it = read_source_impl(range, {specs});
5176
280
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
272
        return read_string_impl(range, *it, value);
5181
280
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
852
    {
5175
852
        auto it = read_source_impl(range, {specs});
5176
852
        if (SCN_UNLIKELY(!it)) {
5177
376
            return unexpected(it.error());
5178
376
        }
5179
5180
476
        return read_string_impl(range, *it, value);
5181
852
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
280
    {
5175
280
        auto it = read_source_impl(range, {specs});
5176
280
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
272
        return read_string_impl(range, *it, value);
5181
280
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
852
    {
5175
852
        auto it = read_source_impl(range, {specs});
5176
852
        if (SCN_UNLIKELY(!it)) {
5177
376
            return unexpected(it.error());
5178
376
        }
5179
5180
476
        return read_string_impl(range, *it, value);
5181
852
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
172
    {
5175
172
        auto it = read_source_impl(range, {specs});
5176
172
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
162
        return read_string_impl(range, *it, value);
5181
172
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
192
    {
5175
192
        auto it = read_source_impl(range, {specs});
5176
192
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
174
        return read_string_impl(range, *it, value);
5181
192
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
172
    {
5175
172
        auto it = read_source_impl(range, {specs});
5176
172
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
162
        return read_string_impl(range, *it, value);
5181
172
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
192
    {
5175
192
        auto it = read_source_impl(range, {specs});
5176
192
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
174
        return read_string_impl(range, *it, value);
5181
192
    }
5182
5183
    template <typename Range, typename ValueCharT>
5184
    auto read(Range range,
5185
              const detail::format_specs& specs,
5186
              std::basic_string_view<ValueCharT>& value)
5187
        -> scan_expected<ranges::const_iterator_t<Range>>
5188
1.49k
    {
5189
1.49k
        auto it = read_source_impl(range, {specs});
5190
1.49k
        if (SCN_UNLIKELY(!it)) {
5191
412
            return unexpected(it.error());
5192
412
        }
5193
5194
1.08k
        return read_string_view_impl(range, *it, value);
5195
1.49k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
280
    {
5189
280
        auto it = read_source_impl(range, {specs});
5190
280
        if (SCN_UNLIKELY(!it)) {
5191
8
            return unexpected(it.error());
5192
8
        }
5193
5194
272
        return read_string_view_impl(range, *it, value);
5195
280
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
852
    {
5189
852
        auto it = read_source_impl(range, {specs});
5190
852
        if (SCN_UNLIKELY(!it)) {
5191
376
            return unexpected(it.error());
5192
376
        }
5193
5194
476
        return read_string_view_impl(range, *it, value);
5195
852
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
172
    {
5189
172
        auto it = read_source_impl(range, {specs});
5190
172
        if (SCN_UNLIKELY(!it)) {
5191
10
            return unexpected(it.error());
5192
10
        }
5193
5194
162
        return read_string_view_impl(range, *it, value);
5195
172
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
192
    {
5189
192
        auto it = read_source_impl(range, {specs});
5190
192
        if (SCN_UNLIKELY(!it)) {
5191
18
            return unexpected(it.error());
5192
18
        }
5193
5194
174
        return read_string_view_impl(range, *it, value);
5195
192
    }
5196
5197
private:
5198
    struct specs_helper {
5199
4.48k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
3.39k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
1.09k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5200
5201
        constexpr bool is_char_set_in_literals(char ch) const
5202
272k
        {
5203
272k
            SCN_EXPECT(is_ascii_char(ch));
5204
272k
            const auto val =
5205
272k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
272k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
272k
                    (val % 8)) &
5208
272k
                   1u;
5209
272k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
262k
        {
5203
262k
            SCN_EXPECT(is_ascii_char(ch));
5204
262k
            const auto val =
5205
262k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
262k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
262k
                    (val % 8)) &
5208
262k
                   1u;
5209
262k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
9.90k
        {
5203
9.90k
            SCN_EXPECT(is_ascii_char(ch));
5204
9.90k
            const auto val =
5205
9.90k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
9.90k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
9.90k
                    (val % 8)) &
5208
9.90k
                   1u;
5209
9.90k
        }
5210
5211
        bool is_char_set_in_extra_literals(char32_t cp) const
5212
50.6k
        {
5213
            // TODO: binary search?
5214
50.6k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
50.6k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
50.6k
            return std::find_if(
5220
50.6k
                       nonascii.extra_ranges.begin(),
5221
50.6k
                       nonascii.extra_ranges.end(),
5222
8.74M
                       [cp_val](const auto& pair) noexcept {
5223
8.74M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.74M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.74M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
8.72M
                       [cp_val](const auto& pair) noexcept {
5223
8.72M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.72M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.72M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
19.8k
                       [cp_val](const auto& pair) noexcept {
5223
19.8k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
19.8k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
19.8k
                       }) != nonascii.extra_ranges.end();
5226
50.6k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
48.2k
        {
5213
            // TODO: binary search?
5214
48.2k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
48.2k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
48.2k
            return std::find_if(
5220
48.2k
                       nonascii.extra_ranges.begin(),
5221
48.2k
                       nonascii.extra_ranges.end(),
5222
48.2k
                       [cp_val](const auto& pair) noexcept {
5223
48.2k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
48.2k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
48.2k
                       }) != nonascii.extra_ranges.end();
5226
48.2k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
2.42k
        {
5213
            // TODO: binary search?
5214
2.42k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
2.42k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
2.42k
            return std::find_if(
5220
2.42k
                       nonascii.extra_ranges.begin(),
5221
2.42k
                       nonascii.extra_ranges.end(),
5222
2.42k
                       [cp_val](const auto& pair) noexcept {
5223
2.42k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
2.42k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
2.42k
                       }) != nonascii.extra_ranges.end();
5226
2.42k
        }
5227
5228
        scan_expected<void> handle_nonascii()
5229
4.48k
        {
5230
4.48k
            if (!specs.charset_has_nonascii) {
5231
954
                return {};
5232
954
            }
5233
5234
3.53k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
3.53k
            auto it = detail::to_address(charset_string.begin());
5236
3.53k
            auto set = detail::parse_presentation_set(
5237
3.53k
                it, detail::to_address(charset_string.end()), nonascii);
5238
3.53k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
3.53k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
3.53k
            SCN_ENSURE(set == charset_string);
5241
5242
3.53k
            std::sort(nonascii.extra_ranges.begin(),
5243
3.53k
                      nonascii.extra_ranges.end());
5244
3.53k
            return {};
5245
3.53k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5229
3.39k
        {
5230
3.39k
            if (!specs.charset_has_nonascii) {
5231
594
                return {};
5232
594
            }
5233
5234
2.80k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
2.80k
            auto it = detail::to_address(charset_string.begin());
5236
2.80k
            auto set = detail::parse_presentation_set(
5237
2.80k
                it, detail::to_address(charset_string.end()), nonascii);
5238
2.80k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
2.80k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
2.80k
            SCN_ENSURE(set == charset_string);
5241
5242
2.80k
            std::sort(nonascii.extra_ranges.begin(),
5243
2.80k
                      nonascii.extra_ranges.end());
5244
2.80k
            return {};
5245
2.80k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5229
1.09k
        {
5230
1.09k
            if (!specs.charset_has_nonascii) {
5231
360
                return {};
5232
360
            }
5233
5234
732
            auto charset_string = specs.charset_string<SourceCharT>();
5235
732
            auto it = detail::to_address(charset_string.begin());
5236
732
            auto set = detail::parse_presentation_set(
5237
732
                it, detail::to_address(charset_string.end()), nonascii);
5238
732
            SCN_TRY_DISCARD(nonascii.get_error());
5239
732
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
732
            SCN_ENSURE(set == charset_string);
5241
5242
732
            std::sort(nonascii.extra_ranges.begin(),
5243
732
                      nonascii.extra_ranges.end());
5244
732
            return {};
5245
732
        }
5246
5247
        const detail::format_specs& specs;
5248
        nonascii_specs_handler nonascii;
5249
    };
5250
5251
    struct read_source_callback {
5252
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5253
14.1k
        {
5254
14.1k
            if (!is_ascii_char(ch)) {
5255
2.05k
                return false;
5256
2.05k
            }
5257
5258
12.0k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
14.1k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5253
10.4k
        {
5254
10.4k
            if (!is_ascii_char(ch)) {
5255
1.90k
                return false;
5256
1.90k
            }
5257
5258
8.55k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
10.4k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5253
3.67k
        {
5254
3.67k
            if (!is_ascii_char(ch)) {
5255
150
                return false;
5256
150
            }
5257
5258
3.52k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
3.67k
        }
5260
5261
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5262
310k
        {
5263
310k
            if (!is_ascii_char(cp)) {
5264
50.6k
                return helper.is_char_set_in_extra_literals(cp);
5265
50.6k
            }
5266
5267
260k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
310k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
302k
        {
5263
302k
            if (!is_ascii_char(cp)) {
5264
48.2k
                return helper.is_char_set_in_extra_literals(cp);
5265
48.2k
            }
5266
5267
253k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
302k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
8.80k
        {
5263
8.80k
            if (!is_ascii_char(cp)) {
5264
2.42k
                return helper.is_char_set_in_extra_literals(cp);
5265
2.42k
            }
5266
5267
6.37k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
8.80k
        }
5269
5270
        const specs_helper& helper;
5271
        detail::locale_ref loc{};
5272
    };
5273
5274
    template <typename Range>
5275
    auto read_source_impl(Range range, specs_helper helper) const
5276
        -> scan_expected<ranges::const_iterator_t<Range>>
5277
4.48k
    {
5278
4.48k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
4.48k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
4.48k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
4.48k
        read_source_callback cb_wrapper{helper};
5284
5285
4.48k
        if (accepts_nonascii) {
5286
310k
            const auto cb = [&](char32_t cp) {
5287
310k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
310k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
11.1k
            const auto cb = [&](char32_t cp) {
5287
11.1k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
11.1k
            };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
290k
            const auto cb = [&](char32_t cp) {
5287
290k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
290k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
3.78k
            const auto cb = [&](char32_t cp) {
5287
3.78k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
3.78k
            };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
5.02k
            const auto cb = [&](char32_t cp) {
5287
5.02k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
5.02k
            };
5289
5290
3.53k
            if (is_inverted) {
5291
840
                auto it = read_until_code_point(range, cb);
5292
840
                return check_nonempty(it, range);
5293
840
            }
5294
2.69k
            auto it = read_while_code_point(range, cb);
5295
2.69k
            return check_nonempty(it, range);
5296
3.53k
        }
5297
5298
14.1k
        const auto cb = [&](SourceCharT ch) {
5299
14.1k
            return cb_wrapper.on_ascii_only(ch);
5300
14.1k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
7.32k
        const auto cb = [&](SourceCharT ch) {
5299
7.32k
            return cb_wrapper.on_ascii_only(ch);
5300
7.32k
        };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
3.13k
        const auto cb = [&](SourceCharT ch) {
5299
3.13k
            return cb_wrapper.on_ascii_only(ch);
5300
3.13k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
1.68k
        const auto cb = [&](SourceCharT ch) {
5299
1.68k
            return cb_wrapper.on_ascii_only(ch);
5300
1.68k
        };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
1.99k
        const auto cb = [&](SourceCharT ch) {
5299
1.99k
            return cb_wrapper.on_ascii_only(ch);
5300
1.99k
        };
5301
5302
954
        if (is_inverted) {
5303
444
            auto it = read_until_code_unit(range, cb);
5304
444
            return check_nonempty(it, range);
5305
444
        }
5306
510
        auto it = read_while_code_unit(range, cb);
5307
510
        return check_nonempty(it, range);
5308
954
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
840
    {
5278
840
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
840
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
840
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
840
        read_source_callback cb_wrapper{helper};
5284
5285
840
        if (accepts_nonascii) {
5286
456
            const auto cb = [&](char32_t cp) {
5287
456
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
456
            };
5289
5290
456
            if (is_inverted) {
5291
222
                auto it = read_until_code_point(range, cb);
5292
222
                return check_nonempty(it, range);
5293
222
            }
5294
234
            auto it = read_while_code_point(range, cb);
5295
234
            return check_nonempty(it, range);
5296
456
        }
5297
5298
384
        const auto cb = [&](SourceCharT ch) {
5299
384
            return cb_wrapper.on_ascii_only(ch);
5300
384
        };
5301
5302
384
        if (is_inverted) {
5303
174
            auto it = read_until_code_unit(range, cb);
5304
174
            return check_nonempty(it, range);
5305
174
        }
5306
210
        auto it = read_while_code_unit(range, cb);
5307
210
        return check_nonempty(it, range);
5308
384
    }
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
2.55k
    {
5278
2.55k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
2.55k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
2.55k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
2.55k
        read_source_callback cb_wrapper{helper};
5284
5285
2.55k
        if (accepts_nonascii) {
5286
2.34k
            const auto cb = [&](char32_t cp) {
5287
2.34k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
2.34k
            };
5289
5290
2.34k
            if (is_inverted) {
5291
216
                auto it = read_until_code_point(range, cb);
5292
216
                return check_nonempty(it, range);
5293
216
            }
5294
2.13k
            auto it = read_while_code_point(range, cb);
5295
2.13k
            return check_nonempty(it, range);
5296
2.34k
        }
5297
5298
210
        const auto cb = [&](SourceCharT ch) {
5299
210
            return cb_wrapper.on_ascii_only(ch);
5300
210
        };
5301
5302
210
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
114
        auto it = read_while_code_unit(range, cb);
5307
114
        return check_nonempty(it, range);
5308
210
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
516
    {
5278
516
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
516
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
516
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
516
        read_source_callback cb_wrapper{helper};
5284
5285
516
        if (accepts_nonascii) {
5286
330
            const auto cb = [&](char32_t cp) {
5287
330
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
330
            };
5289
5290
330
            if (is_inverted) {
5291
192
                auto it = read_until_code_point(range, cb);
5292
192
                return check_nonempty(it, range);
5293
192
            }
5294
138
            auto it = read_while_code_point(range, cb);
5295
138
            return check_nonempty(it, range);
5296
330
        }
5297
5298
186
        const auto cb = [&](SourceCharT ch) {
5299
186
            return cb_wrapper.on_ascii_only(ch);
5300
186
        };
5301
5302
186
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
90
        auto it = read_while_code_unit(range, cb);
5307
90
        return check_nonempty(it, range);
5308
186
    }
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
576
    {
5278
576
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
576
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
576
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
576
        read_source_callback cb_wrapper{helper};
5284
5285
576
        if (accepts_nonascii) {
5286
402
            const auto cb = [&](char32_t cp) {
5287
402
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
402
            };
5289
5290
402
            if (is_inverted) {
5291
210
                auto it = read_until_code_point(range, cb);
5292
210
                return check_nonempty(it, range);
5293
210
            }
5294
192
            auto it = read_while_code_point(range, cb);
5295
192
            return check_nonempty(it, range);
5296
402
        }
5297
5298
174
        const auto cb = [&](SourceCharT ch) {
5299
174
            return cb_wrapper.on_ascii_only(ch);
5300
174
        };
5301
5302
174
        if (is_inverted) {
5303
78
            auto it = read_until_code_unit(range, cb);
5304
78
            return check_nonempty(it, range);
5305
78
        }
5306
96
        auto it = read_while_code_unit(range, cb);
5307
96
        return check_nonempty(it, range);
5308
174
    }
5309
5310
    template <typename Iterator, typename Range>
5311
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5312
                                                  Range range)
5313
4.48k
    {
5314
4.48k
        if (it == range.begin()) {
5315
1.23k
            return detail::unexpected_scan_error(
5316
1.23k
                scan_error::invalid_scanned_value,
5317
1.23k
                "No characters matched in [character set]");
5318
1.23k
        }
5319
5320
3.25k
        return it;
5321
4.48k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5313
840
    {
5314
840
        if (it == range.begin()) {
5315
24
            return detail::unexpected_scan_error(
5316
24
                scan_error::invalid_scanned_value,
5317
24
                "No characters matched in [character set]");
5318
24
        }
5319
5320
816
        return it;
5321
840
    }
scn::v4::scan_expected<char const*> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5313
2.55k
    {
5314
2.55k
        if (it == range.begin()) {
5315
1.12k
            return detail::unexpected_scan_error(
5316
1.12k
                scan_error::invalid_scanned_value,
5317
1.12k
                "No characters matched in [character set]");
5318
1.12k
        }
5319
5320
1.42k
        return it;
5321
2.55k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
5313
516
    {
5314
516
        if (it == range.begin()) {
5315
30
            return detail::unexpected_scan_error(
5316
30
                scan_error::invalid_scanned_value,
5317
30
                "No characters matched in [character set]");
5318
30
        }
5319
5320
486
        return it;
5321
516
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5313
576
    {
5314
576
        if (it == range.begin()) {
5315
54
            return detail::unexpected_scan_error(
5316
54
                scan_error::invalid_scanned_value,
5317
54
                "No characters matched in [character set]");
5318
54
        }
5319
5320
522
        return it;
5321
576
    }
5322
};
5323
5324
template <typename SourceCharT>
5325
class string_reader
5326
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5327
public:
5328
14.0k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<char>::string_reader()
Line
Count
Source
5328
8.95k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5328
5.10k
    constexpr string_reader() = default;
5329
5330
    void check_specs_impl(const detail::format_specs& specs,
5331
                          reader_error_handler& eh)
5332
10.6k
    {
5333
10.6k
        detail::check_string_type_specs(specs, eh);
5334
5335
10.6k
        SCN_GCC_COMPAT_PUSH
5336
10.6k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
10.6k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
10.6k
        switch (specs.type) {
5340
3.31k
            case detail::presentation_type::none:
5341
3.31k
                m_type = reader_type::word;
5342
3.31k
                break;
5343
5344
1.03k
            case detail::presentation_type::string: {
5345
1.03k
                if (specs.align == detail::align_type::left ||
5346
1.03k
                    specs.align == detail::align_type::center) {
5347
672
                    m_type = reader_type::custom_word;
5348
672
                }
5349
360
                else {
5350
360
                    m_type = reader_type::word;
5351
360
                }
5352
1.03k
                break;
5353
0
            }
5354
5355
276
            case detail::presentation_type::character:
5356
276
                m_type = reader_type::character;
5357
276
                break;
5358
5359
4.49k
            case detail::presentation_type::string_set:
5360
4.49k
                m_type = reader_type::character_set;
5361
4.49k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
408
            case detail::presentation_type::regex_escaped:
5369
408
                m_type = reader_type::regex_escaped;
5370
408
                break;
5371
10.6k
#endif
5372
10.6k
        }
5373
5374
10.6k
        SCN_GCC_COMPAT_POP
5375
10.6k
    }
scn::v4::impl::string_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
7.06k
    {
5333
7.06k
        detail::check_string_type_specs(specs, eh);
5334
5335
7.06k
        SCN_GCC_COMPAT_PUSH
5336
7.06k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
7.06k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
7.06k
        switch (specs.type) {
5340
1.79k
            case detail::presentation_type::none:
5341
1.79k
                m_type = reader_type::word;
5342
1.79k
                break;
5343
5344
738
            case detail::presentation_type::string: {
5345
738
                if (specs.align == detail::align_type::left ||
5346
738
                    specs.align == detail::align_type::center) {
5347
474
                    m_type = reader_type::custom_word;
5348
474
                }
5349
264
                else {
5350
264
                    m_type = reader_type::word;
5351
264
                }
5352
738
                break;
5353
0
            }
5354
5355
186
            case detail::presentation_type::character:
5356
186
                m_type = reader_type::character;
5357
186
                break;
5358
5359
3.40k
            case detail::presentation_type::string_set:
5360
3.40k
                m_type = reader_type::character_set;
5361
3.40k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
408
            case detail::presentation_type::regex_escaped:
5369
408
                m_type = reader_type::regex_escaped;
5370
408
                break;
5371
7.06k
#endif
5372
7.06k
        }
5373
5374
7.06k
        SCN_GCC_COMPAT_POP
5375
7.06k
    }
scn::v4::impl::string_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
3.61k
    {
5333
3.61k
        detail::check_string_type_specs(specs, eh);
5334
5335
3.61k
        SCN_GCC_COMPAT_PUSH
5336
3.61k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
3.61k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
3.61k
        switch (specs.type) {
5340
1.51k
            case detail::presentation_type::none:
5341
1.51k
                m_type = reader_type::word;
5342
1.51k
                break;
5343
5344
294
            case detail::presentation_type::string: {
5345
294
                if (specs.align == detail::align_type::left ||
5346
294
                    specs.align == detail::align_type::center) {
5347
198
                    m_type = reader_type::custom_word;
5348
198
                }
5349
96
                else {
5350
96
                    m_type = reader_type::word;
5351
96
                }
5352
294
                break;
5353
0
            }
5354
5355
90
            case detail::presentation_type::character:
5356
90
                m_type = reader_type::character;
5357
90
                break;
5358
5359
1.09k
            case detail::presentation_type::string_set:
5360
1.09k
                m_type = reader_type::character_set;
5361
1.09k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
0
            case detail::presentation_type::regex:
5365
0
                m_type = reader_type::regex;
5366
0
                break;
5367
5368
0
            case detail::presentation_type::regex_escaped:
5369
0
                m_type = reader_type::regex_escaped;
5370
0
                break;
5371
3.61k
#endif
5372
3.61k
        }
5373
5374
3.61k
        SCN_GCC_COMPAT_POP
5375
3.61k
    }
5376
5377
    bool skip_ws_before_read() const
5378
17.1k
    {
5379
17.1k
        return m_type == reader_type::word;
5380
17.1k
    }
scn::v4::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5378
11.2k
    {
5379
11.2k
        return m_type == reader_type::word;
5380
11.2k
    }
scn::v4::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5378
5.95k
    {
5379
5.95k
        return m_type == reader_type::word;
5380
5.95k
    }
5381
5382
    template <typename Range, typename Value>
5383
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5384
        -> scan_expected<ranges::const_iterator_t<Range>>
5385
3.37k
    {
5386
3.37k
        SCN_UNUSED(loc);
5387
3.37k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
3.37k
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
630
    {
5386
630
        SCN_UNUSED(loc);
5387
630
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
630
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
630
    {
5386
630
        SCN_UNUSED(loc);
5387
630
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
630
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
630
    {
5386
630
        SCN_UNUSED(loc);
5387
630
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
630
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
494
    {
5386
494
        SCN_UNUSED(loc);
5387
494
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
494
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
494
    {
5386
494
        SCN_UNUSED(loc);
5387
494
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
494
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
494
    {
5386
494
        SCN_UNUSED(loc);
5387
494
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
494
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
5389
5390
    template <typename Range, typename Value>
5391
    auto read_specs(Range range,
5392
                    const detail::format_specs& specs,
5393
                    Value& value,
5394
                    detail::locale_ref loc)
5395
        -> scan_expected<ranges::const_iterator_t<Range>>
5396
9.45k
    {
5397
9.45k
        SCN_UNUSED(loc);
5398
9.45k
        return read_impl(range, specs, value);
5399
9.45k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
820
    {
5397
820
        SCN_UNUSED(loc);
5398
820
        return read_impl(range, specs, value);
5399
820
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.35k
    {
5397
1.35k
        SCN_UNUSED(loc);
5398
1.35k
        return read_impl(range, specs, value);
5399
1.35k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
820
    {
5397
820
        SCN_UNUSED(loc);
5398
820
        return read_impl(range, specs, value);
5399
820
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.35k
    {
5397
1.35k
        SCN_UNUSED(loc);
5398
1.35k
        return read_impl(range, specs, value);
5399
1.35k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
820
    {
5397
820
        SCN_UNUSED(loc);
5398
820
        return read_impl(range, specs, value);
5399
820
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
1.35k
    {
5397
1.35k
        SCN_UNUSED(loc);
5398
1.35k
        return read_impl(range, specs, value);
5399
1.35k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
380
    {
5397
380
        SCN_UNUSED(loc);
5398
380
        return read_impl(range, specs, value);
5399
380
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
600
    {
5397
600
        SCN_UNUSED(loc);
5398
600
        return read_impl(range, specs, value);
5399
600
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
380
    {
5397
380
        SCN_UNUSED(loc);
5398
380
        return read_impl(range, specs, value);
5399
380
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
600
    {
5397
600
        SCN_UNUSED(loc);
5398
600
        return read_impl(range, specs, value);
5399
600
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
380
    {
5397
380
        SCN_UNUSED(loc);
5398
380
        return read_impl(range, specs, value);
5399
380
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
600
    {
5397
600
        SCN_UNUSED(loc);
5398
600
        return read_impl(range, specs, value);
5399
600
    }
5400
5401
protected:
5402
    enum class reader_type {
5403
        word,
5404
        custom_word,
5405
        character,
5406
        character_set,
5407
#if !SCN_DISABLE_REGEX
5408
        regex,
5409
        regex_escaped,
5410
#endif
5411
    };
5412
5413
    template <typename Range, typename Value>
5414
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5415
        -> scan_expected<ranges::const_iterator_t<Range>>
5416
9.45k
    {
5417
9.45k
        SCN_CLANG_PUSH
5418
9.45k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
9.45k
        switch (m_type) {
5421
3.54k
            case reader_type::word:
5422
3.54k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
660
            case reader_type::custom_word:
5425
660
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
660
                                                                   value);
5427
5428
252
            case reader_type::character:
5429
252
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
4.48k
            case reader_type::character_set:
5432
4.48k
                return character_set_reader_impl<SourceCharT>{}.read(
5433
4.48k
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
102
            case reader_type::regex:
5437
102
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
102
                    range, specs.charset_string<SourceCharT>(),
5439
102
                    specs.regexp_flags, value);
5440
5441
408
            case reader_type::regex_escaped:
5442
408
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
408
                    range,
5444
408
                    get_unescaped_regex_pattern(
5445
408
                        specs.charset_string<SourceCharT>()),
5446
408
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
9.45k
                SCN_UNREACHABLE;
5452
9.45k
        }
5453
5454
9.45k
        SCN_CLANG_POP
5455
9.45k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
820
    {
5417
820
        SCN_CLANG_PUSH
5418
820
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
820
        switch (m_type) {
5421
316
            case reader_type::word:
5422
316
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
102
            case reader_type::custom_word:
5425
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
102
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
280
            case reader_type::character_set:
5432
280
                return character_set_reader_impl<SourceCharT>{}.read(
5433
280
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
62
            case reader_type::regex_escaped:
5442
62
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
62
                    range,
5444
62
                    get_unescaped_regex_pattern(
5445
62
                        specs.charset_string<SourceCharT>()),
5446
62
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
820
                SCN_UNREACHABLE;
5452
820
        }
5453
5454
820
        SCN_CLANG_POP
5455
820
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.35k
    {
5417
1.35k
        SCN_CLANG_PUSH
5418
1.35k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.35k
        switch (m_type) {
5421
338
            case reader_type::word:
5422
338
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
54
            case reader_type::custom_word:
5425
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
54
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
852
            case reader_type::character_set:
5432
852
                return character_set_reader_impl<SourceCharT>{}.read(
5433
852
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
74
            case reader_type::regex_escaped:
5442
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
74
                    range,
5444
74
                    get_unescaped_regex_pattern(
5445
74
                        specs.charset_string<SourceCharT>()),
5446
74
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.35k
                SCN_UNREACHABLE;
5452
1.35k
        }
5453
5454
1.35k
        SCN_CLANG_POP
5455
1.35k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
820
    {
5417
820
        SCN_CLANG_PUSH
5418
820
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
820
        switch (m_type) {
5421
316
            case reader_type::word:
5422
316
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
102
            case reader_type::custom_word:
5425
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
102
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
280
            case reader_type::character_set:
5432
280
                return character_set_reader_impl<SourceCharT>{}.read(
5433
280
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
62
            case reader_type::regex_escaped:
5442
62
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
62
                    range,
5444
62
                    get_unescaped_regex_pattern(
5445
62
                        specs.charset_string<SourceCharT>()),
5446
62
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
820
                SCN_UNREACHABLE;
5452
820
        }
5453
5454
820
        SCN_CLANG_POP
5455
820
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.35k
    {
5417
1.35k
        SCN_CLANG_PUSH
5418
1.35k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.35k
        switch (m_type) {
5421
338
            case reader_type::word:
5422
338
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
54
            case reader_type::custom_word:
5425
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
54
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
852
            case reader_type::character_set:
5432
852
                return character_set_reader_impl<SourceCharT>{}.read(
5433
852
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
74
            case reader_type::regex_escaped:
5442
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
74
                    range,
5444
74
                    get_unescaped_regex_pattern(
5445
74
                        specs.charset_string<SourceCharT>()),
5446
74
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.35k
                SCN_UNREACHABLE;
5452
1.35k
        }
5453
5454
1.35k
        SCN_CLANG_POP
5455
1.35k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
820
    {
5417
820
        SCN_CLANG_PUSH
5418
820
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
820
        switch (m_type) {
5421
316
            case reader_type::word:
5422
316
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
102
            case reader_type::custom_word:
5425
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
102
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
280
            case reader_type::character_set:
5432
280
                return character_set_reader_impl<SourceCharT>{}.read(
5433
280
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
62
            case reader_type::regex_escaped:
5442
62
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
62
                    range,
5444
62
                    get_unescaped_regex_pattern(
5445
62
                        specs.charset_string<SourceCharT>()),
5446
62
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
820
                SCN_UNREACHABLE;
5452
820
        }
5453
5454
820
        SCN_CLANG_POP
5455
820
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.35k
    {
5417
1.35k
        SCN_CLANG_PUSH
5418
1.35k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.35k
        switch (m_type) {
5421
338
            case reader_type::word:
5422
338
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
54
            case reader_type::custom_word:
5425
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
54
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
852
            case reader_type::character_set:
5432
852
                return character_set_reader_impl<SourceCharT>{}.read(
5433
852
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
74
            case reader_type::regex_escaped:
5442
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
74
                    range,
5444
74
                    get_unescaped_regex_pattern(
5445
74
                        specs.charset_string<SourceCharT>()),
5446
74
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.35k
                SCN_UNREACHABLE;
5452
1.35k
        }
5453
5454
1.35k
        SCN_CLANG_POP
5455
1.35k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
380
    {
5417
380
        SCN_CLANG_PUSH
5418
380
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
380
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
172
            case reader_type::character_set:
5432
172
                return character_set_reader_impl<SourceCharT>{}.read(
5433
172
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
380
                SCN_UNREACHABLE;
5452
380
        }
5453
5454
380
        SCN_CLANG_POP
5455
380
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
600
    {
5417
600
        SCN_CLANG_PUSH
5418
600
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
600
        switch (m_type) {
5421
376
            case reader_type::word:
5422
376
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
192
            case reader_type::character_set:
5432
192
                return character_set_reader_impl<SourceCharT>{}.read(
5433
192
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
600
                SCN_UNREACHABLE;
5452
600
        }
5453
5454
600
        SCN_CLANG_POP
5455
600
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
380
    {
5417
380
        SCN_CLANG_PUSH
5418
380
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
380
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
172
            case reader_type::character_set:
5432
172
                return character_set_reader_impl<SourceCharT>{}.read(
5433
172
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
380
                SCN_UNREACHABLE;
5452
380
        }
5453
5454
380
        SCN_CLANG_POP
5455
380
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
600
    {
5417
600
        SCN_CLANG_PUSH
5418
600
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
600
        switch (m_type) {
5421
376
            case reader_type::word:
5422
376
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
192
            case reader_type::character_set:
5432
192
                return character_set_reader_impl<SourceCharT>{}.read(
5433
192
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
600
                SCN_UNREACHABLE;
5452
600
        }
5453
5454
600
        SCN_CLANG_POP
5455
600
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
380
    {
5417
380
        SCN_CLANG_PUSH
5418
380
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
380
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
172
            case reader_type::character_set:
5432
172
                return character_set_reader_impl<SourceCharT>{}.read(
5433
172
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
380
                SCN_UNREACHABLE;
5452
380
        }
5453
5454
380
        SCN_CLANG_POP
5455
380
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
600
    {
5417
600
        SCN_CLANG_PUSH
5418
600
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
600
        switch (m_type) {
5421
376
            case reader_type::word:
5422
376
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
192
            case reader_type::character_set:
5432
192
                return character_set_reader_impl<SourceCharT>{}.read(
5433
192
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
600
                SCN_UNREACHABLE;
5452
600
        }
5453
5454
600
        SCN_CLANG_POP
5455
600
    }
5456
5457
    reader_type m_type{reader_type::word};
5458
};
5459
5460
template <typename SourceCharT>
5461
class reader_impl_for_string : public string_reader<SourceCharT> {};
5462
5463
/////////////////////////////////////////////////////////////////
5464
// Boolean reader
5465
/////////////////////////////////////////////////////////////////
5466
5467
struct bool_reader_base {
5468
    enum options_type { allow_text = 1, allow_numeric = 2 };
5469
5470
1.12k
    constexpr bool_reader_base() = default;
5471
1.62k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5472
5473
    template <typename Range>
5474
    auto read_classic(Range range, bool& value) const
5475
        -> scan_expected<ranges::const_iterator_t<Range>>
5476
2.65k
    {
5477
2.65k
        scan_error err{scan_error::invalid_scanned_value,
5478
2.65k
                       "Failed to read boolean"};
5479
5480
2.65k
        if (m_options & allow_numeric) {
5481
2.32k
            if (auto r = read_numeric(range, value)) {
5482
64
                return *r;
5483
64
            }
5484
2.25k
            else {
5485
2.25k
                err = r.error();
5486
2.25k
            }
5487
2.32k
        }
5488
5489
2.59k
        if (m_options & allow_text) {
5490
2.47k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
2.47k
            else {
5494
2.47k
                err = r.error();
5495
2.47k
            }
5496
2.47k
        }
5497
5498
2.59k
        return unexpected(err);
5499
2.59k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
1.04k
    {
5477
1.04k
        scan_error err{scan_error::invalid_scanned_value,
5478
1.04k
                       "Failed to read boolean"};
5479
5480
1.04k
        if (m_options & allow_numeric) {
5481
914
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
914
            else {
5485
914
                err = r.error();
5486
914
            }
5487
914
        }
5488
5489
1.04k
        if (m_options & allow_text) {
5490
1.02k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
1.02k
            else {
5494
1.02k
                err = r.error();
5495
1.02k
            }
5496
1.02k
        }
5497
5498
1.04k
        return unexpected(err);
5499
1.04k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
446
    {
5477
446
        scan_error err{scan_error::invalid_scanned_value,
5478
446
                       "Failed to read boolean"};
5479
5480
446
        if (m_options & allow_numeric) {
5481
336
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
336
            else {
5485
336
                err = r.error();
5486
336
            }
5487
336
        }
5488
5489
446
        if (m_options & allow_text) {
5490
418
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
418
            else {
5494
418
                err = r.error();
5495
418
            }
5496
418
        }
5497
5498
446
        return unexpected(err);
5499
446
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
950
    {
5477
950
        scan_error err{scan_error::invalid_scanned_value,
5478
950
                       "Failed to read boolean"};
5479
5480
950
        if (m_options & allow_numeric) {
5481
898
            if (auto r = read_numeric(range, value)) {
5482
46
                return *r;
5483
46
            }
5484
852
            else {
5485
852
                err = r.error();
5486
852
            }
5487
898
        }
5488
5489
904
        if (m_options & allow_text) {
5490
864
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
864
            else {
5494
864
                err = r.error();
5495
864
            }
5496
864
        }
5497
5498
904
        return unexpected(err);
5499
904
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
216
    {
5477
216
        scan_error err{scan_error::invalid_scanned_value,
5478
216
                       "Failed to read boolean"};
5479
5480
216
        if (m_options & allow_numeric) {
5481
174
            if (auto r = read_numeric(range, value)) {
5482
18
                return *r;
5483
18
            }
5484
156
            else {
5485
156
                err = r.error();
5486
156
            }
5487
174
        }
5488
5489
198
        if (m_options & allow_text) {
5490
174
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
174
            else {
5494
174
                err = r.error();
5495
174
            }
5496
174
        }
5497
5498
198
        return unexpected(err);
5499
198
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5500
5501
protected:
5502
    template <typename Range>
5503
    auto read_numeric(Range range, bool& value) const
5504
        -> scan_expected<ranges::const_iterator_t<Range>>
5505
2.40k
    {
5506
2.40k
        if (auto r = read_matching_code_unit(range, '0')) {
5507
74
            value = false;
5508
74
            return *r;
5509
74
        }
5510
2.33k
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
2.33k
        return detail::unexpected_scan_error(
5516
2.33k
            scan_error::invalid_scanned_value,
5517
2.33k
            "Failed to read numeric boolean value: No match");
5518
2.33k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
926
    {
5506
926
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
926
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
926
        return detail::unexpected_scan_error(
5516
926
            scan_error::invalid_scanned_value,
5517
926
            "Failed to read numeric boolean value: No match");
5518
926
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
352
    {
5506
352
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
352
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
352
        return detail::unexpected_scan_error(
5516
352
            scan_error::invalid_scanned_value,
5517
352
            "Failed to read numeric boolean value: No match");
5518
352
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
926
    {
5506
926
        if (auto r = read_matching_code_unit(range, '0')) {
5507
52
            value = false;
5508
52
            return *r;
5509
52
        }
5510
874
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
874
        return detail::unexpected_scan_error(
5516
874
            scan_error::invalid_scanned_value,
5517
874
            "Failed to read numeric boolean value: No match");
5518
874
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
200
    {
5506
200
        if (auto r = read_matching_code_unit(range, '0')) {
5507
22
            value = false;
5508
22
            return *r;
5509
22
        }
5510
178
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
178
        return detail::unexpected_scan_error(
5516
178
            scan_error::invalid_scanned_value,
5517
178
            "Failed to read numeric boolean value: No match");
5518
178
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5519
5520
    template <typename Range>
5521
    auto read_textual_classic(Range range, bool& value) const
5522
        -> scan_expected<ranges::const_iterator_t<Range>>
5523
2.47k
    {
5524
2.47k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
2.47k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
2.47k
        return detail::unexpected_scan_error(
5534
2.47k
            scan_error::invalid_scanned_value,
5535
2.47k
            "Failed to read textual boolean value: No match");
5536
2.47k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
1.02k
    {
5524
1.02k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
1.02k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
1.02k
        return detail::unexpected_scan_error(
5534
1.02k
            scan_error::invalid_scanned_value,
5535
1.02k
            "Failed to read textual boolean value: No match");
5536
1.02k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
418
    {
5524
418
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
418
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
418
        return detail::unexpected_scan_error(
5534
418
            scan_error::invalid_scanned_value,
5535
418
            "Failed to read textual boolean value: No match");
5536
418
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
864
    {
5524
864
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
864
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
864
        return detail::unexpected_scan_error(
5534
864
            scan_error::invalid_scanned_value,
5535
864
            "Failed to read textual boolean value: No match");
5536
864
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
174
    {
5524
174
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
174
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
174
        return detail::unexpected_scan_error(
5534
174
            scan_error::invalid_scanned_value,
5535
174
            "Failed to read textual boolean value: No match");
5536
174
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5537
5538
    unsigned m_options{allow_text | allow_numeric};
5539
};
5540
5541
template <typename CharT>
5542
struct bool_reader : public bool_reader_base {
5543
    using bool_reader_base::bool_reader_base;
5544
5545
#if !SCN_DISABLE_LOCALE
5546
    template <typename Range>
5547
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5548
        -> scan_expected<ranges::const_iterator_t<Range>>
5549
94
    {
5550
94
        scan_error err{scan_error::invalid_scanned_value,
5551
94
                       "Failed to read boolean"};
5552
5553
94
        if (m_options & allow_numeric) {
5554
82
            if (auto r = read_numeric(range, value)) {
5555
10
                return *r;
5556
10
            }
5557
72
            else {
5558
72
                err = r.error();
5559
72
            }
5560
82
        }
5561
5562
84
        if (m_options & allow_text) {
5563
50
            auto stdloc = loc.get<std::locale>();
5564
50
            const auto& numpunct =
5565
50
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
50
            const auto truename = numpunct.truename();
5567
50
            const auto falsename = numpunct.falsename();
5568
5569
50
            if (auto r =
5570
50
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
50
            else {
5574
50
                err = r.error();
5575
50
            }
5576
50
        }
5577
5578
84
        return unexpected(err);
5579
84
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
16
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
16
            else {
5558
16
                err = r.error();
5559
16
            }
5560
16
        }
5561
5562
18
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
12
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
12
            else {
5558
12
                err = r.error();
5559
12
            }
5560
12
        }
5561
5562
18
        if (m_options & allow_text) {
5563
10
            auto stdloc = loc.get<std::locale>();
5564
10
            const auto& numpunct =
5565
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
10
            const auto truename = numpunct.truename();
5567
10
            const auto falsename = numpunct.falsename();
5568
5569
10
            if (auto r =
5570
10
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
10
            else {
5574
10
                err = r.error();
5575
10
            }
5576
10
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
28
    {
5550
28
        scan_error err{scan_error::invalid_scanned_value,
5551
28
                       "Failed to read boolean"};
5552
5553
28
        if (m_options & allow_numeric) {
5554
26
            if (auto r = read_numeric(range, value)) {
5555
4
                return *r;
5556
4
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
26
        }
5561
5562
24
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
30
    {
5550
30
        scan_error err{scan_error::invalid_scanned_value,
5551
30
                       "Failed to read boolean"};
5552
5553
30
        if (m_options & allow_numeric) {
5554
28
            if (auto r = read_numeric(range, value)) {
5555
6
                return *r;
5556
6
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
28
        }
5561
5562
24
        if (m_options & allow_text) {
5563
12
            auto stdloc = loc.get<std::locale>();
5564
12
            const auto& numpunct =
5565
12
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
12
            const auto truename = numpunct.truename();
5567
12
            const auto falsename = numpunct.falsename();
5568
5569
12
            if (auto r =
5570
12
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
12
            else {
5574
12
                err = r.error();
5575
12
            }
5576
12
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5580
#endif
5581
5582
protected:
5583
    template <typename Range>
5584
    auto read_textual_custom(Range range,
5585
                             bool& value,
5586
                             std::basic_string_view<CharT> truename,
5587
                             std::basic_string_view<CharT> falsename) const
5588
        -> scan_expected<ranges::const_iterator_t<Range>>
5589
50
    {
5590
50
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
50
        const auto shorter = std::pair{
5592
50
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
50
        const auto longer = std::pair{
5594
50
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
50
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
50
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
50
        return detail::unexpected_scan_error(
5606
50
            scan_error::invalid_scanned_value,
5607
50
            "Failed to read textual boolean: No match");
5608
50
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5589
10
    {
5590
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
10
        const auto shorter = std::pair{
5592
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
10
        const auto longer = std::pair{
5594
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
10
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
10
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
10
        return detail::unexpected_scan_error(
5606
10
            scan_error::invalid_scanned_value,
5607
10
            "Failed to read textual boolean: No match");
5608
10
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5589
12
    {
5590
12
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
12
        const auto shorter = std::pair{
5592
12
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
12
        const auto longer = std::pair{
5594
12
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
12
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
12
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
12
        return detail::unexpected_scan_error(
5606
12
            scan_error::invalid_scanned_value,
5607
12
            "Failed to read textual boolean: No match");
5608
12
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5609
};
5610
5611
template <typename CharT>
5612
class reader_impl_for_bool
5613
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5614
public:
5615
    reader_impl_for_bool() = default;
5616
5617
    void check_specs_impl(const detail::format_specs& specs,
5618
                          reader_error_handler& eh)
5619
3.66k
    {
5620
3.66k
        detail::check_bool_type_specs(specs, eh);
5621
3.66k
    }
scn::v4::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
2.39k
    {
5620
2.39k
        detail::check_bool_type_specs(specs, eh);
5621
2.39k
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
1.26k
    {
5620
1.26k
        detail::check_bool_type_specs(specs, eh);
5621
1.26k
    }
5622
5623
    template <typename Range>
5624
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5625
        -> scan_expected<ranges::const_iterator_t<Range>>
5626
1.12k
    {
5627
1.12k
        SCN_UNUSED(loc);
5628
5629
1.12k
        return bool_reader<CharT>{}.read_classic(range, value);
5630
1.12k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
630
    {
5627
630
        SCN_UNUSED(loc);
5628
5629
630
        return bool_reader<CharT>{}.read_classic(range, value);
5630
630
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
494
    {
5627
494
        SCN_UNUSED(loc);
5628
5629
494
        return bool_reader<CharT>{}.read_classic(range, value);
5630
494
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5631
5632
    template <typename Range>
5633
    auto read_specs(Range range,
5634
                    const detail::format_specs& specs,
5635
                    bool& value,
5636
                    detail::locale_ref loc) const
5637
        -> scan_expected<ranges::const_iterator_t<Range>>
5638
1.62k
    {
5639
1.62k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
1.62k
#if !SCN_DISABLE_LOCALE
5642
1.62k
        if (specs.localized) {
5643
94
            return rd.read_localized(range, loc, value);
5644
94
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
1.53k
        return rd.read_classic(range, value);
5650
1.62k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
464
    {
5639
464
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
464
#if !SCN_DISABLE_LOCALE
5642
464
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
446
        return rd.read_classic(range, value);
5650
464
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
432
    {
5639
432
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
432
#if !SCN_DISABLE_LOCALE
5642
432
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
414
        return rd.read_classic(range, value);
5650
432
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
244
    {
5639
244
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
244
#if !SCN_DISABLE_LOCALE
5642
244
        if (specs.localized) {
5643
28
            return rd.read_localized(range, loc, value);
5644
28
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
216
        return rd.read_classic(range, value);
5650
244
    }
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
486
    {
5639
486
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
486
#if !SCN_DISABLE_LOCALE
5642
486
        if (specs.localized) {
5643
30
            return rd.read_localized(range, loc, value);
5644
30
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
456
        return rd.read_classic(range, value);
5650
486
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5651
5652
    static constexpr unsigned get_options(const detail::format_specs& specs)
5653
1.62k
    {
5654
1.62k
        SCN_GCC_COMPAT_PUSH
5655
1.62k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
1.62k
        switch (specs.type) {
5658
346
            case detail::presentation_type::string:
5659
346
                return bool_reader_base::allow_text;
5660
5661
38
            case detail::presentation_type::int_generic:
5662
76
            case detail::presentation_type::int_binary:
5663
90
            case detail::presentation_type::int_decimal:
5664
116
            case detail::presentation_type::int_hex:
5665
146
            case detail::presentation_type::int_octal:
5666
168
            case detail::presentation_type::int_unsigned_decimal:
5667
168
                return bool_reader_base::allow_numeric;
5668
5669
1.11k
            default:
5670
1.11k
                return bool_reader_base::allow_text |
5671
1.11k
                       bool_reader_base::allow_numeric;
5672
1.62k
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
1.62k
    }
scn::v4::impl::reader_impl_for_bool<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
896
    {
5654
896
        SCN_GCC_COMPAT_PUSH
5655
896
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
896
        switch (specs.type) {
5658
248
            case detail::presentation_type::string:
5659
248
                return bool_reader_base::allow_text;
5660
5661
14
            case detail::presentation_type::int_generic:
5662
26
            case detail::presentation_type::int_binary:
5663
32
            case detail::presentation_type::int_decimal:
5664
42
            case detail::presentation_type::int_hex:
5665
56
            case detail::presentation_type::int_octal:
5666
62
            case detail::presentation_type::int_unsigned_decimal:
5667
62
                return bool_reader_base::allow_numeric;
5668
5669
586
            default:
5670
586
                return bool_reader_base::allow_text |
5671
586
                       bool_reader_base::allow_numeric;
5672
896
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
896
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
730
    {
5654
730
        SCN_GCC_COMPAT_PUSH
5655
730
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
730
        switch (specs.type) {
5658
98
            case detail::presentation_type::string:
5659
98
                return bool_reader_base::allow_text;
5660
5661
24
            case detail::presentation_type::int_generic:
5662
50
            case detail::presentation_type::int_binary:
5663
58
            case detail::presentation_type::int_decimal:
5664
74
            case detail::presentation_type::int_hex:
5665
90
            case detail::presentation_type::int_octal:
5666
106
            case detail::presentation_type::int_unsigned_decimal:
5667
106
                return bool_reader_base::allow_numeric;
5668
5669
526
            default:
5670
526
                return bool_reader_base::allow_text |
5671
526
                       bool_reader_base::allow_numeric;
5672
730
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
730
    }
5676
};
5677
5678
/////////////////////////////////////////////////////////////////
5679
// Character (code unit, code point) reader
5680
/////////////////////////////////////////////////////////////////
5681
5682
template <typename CharT>
5683
class code_unit_reader {
5684
public:
5685
    template <typename SourceRange>
5686
    auto read(const SourceRange& range, CharT& ch)
5687
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5688
2.22k
    {
5689
2.22k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
2.22k
        ch = *range.begin();
5691
2.22k
        return it;
5692
2.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5688
332
    {
5689
332
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
332
        ch = *range.begin();
5691
332
        return it;
5692
332
    }
_ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5688
892
    {
5689
892
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
892
        ch = *range.begin();
5691
892
        return it;
5692
892
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5688
148
    {
5689
148
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
148
        ch = *range.begin();
5691
148
        return it;
5692
148
    }
_ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5688
850
    {
5689
850
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
850
        ch = *range.begin();
5691
850
        return it;
5692
850
    }
5693
};
5694
5695
template <typename CharT>
5696
class code_point_reader;
5697
5698
template <>
5699
class code_point_reader<char32_t> {
5700
public:
5701
    template <typename SourceRange>
5702
    auto read(const SourceRange& range, char32_t& cp)
5703
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5704
0
    {
5705
0
        auto result = read_code_point_into(range);
5706
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5707
0
            return detail::unexpected_scan_error(
5708
0
                scan_error::invalid_scanned_value, "Invalid code point");
5709
0
        }
5710
0
        cp = detail::decode_code_point_exhaustive_valid(
5711
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5712
0
                result.codepoint.data(), result.codepoint.size()});
5713
0
        return result.iterator;
5714
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5715
};
5716
5717
template <>
5718
class code_point_reader<wchar_t> {
5719
public:
5720
    template <typename SourceRange>
5721
    auto read(const SourceRange& range, wchar_t& ch)
5722
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5723
0
    {
5724
0
        code_point_reader<char32_t> reader{};
5725
0
        char32_t cp{};
5726
0
        auto ret = reader.read(range, cp);
5727
0
        if (SCN_UNLIKELY(!ret)) {
5728
0
            return unexpected(ret.error());
5729
0
        }
5730
5731
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5732
0
        ch = encoded_ch;
5733
0
        return *ret;
5734
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5735
};
5736
5737
template <typename ValueCharT>
5738
class char_reader_base {
5739
public:
5740
    constexpr char_reader_base() = default;
5741
5742
    bool skip_ws_before_read() const
5743
3.49k
    {
5744
3.49k
        return false;
5745
3.49k
    }
scn::v4::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5743
1.88k
    {
5744
1.88k
        return false;
5745
1.88k
    }
scn::v4::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5743
1.61k
    {
5744
1.61k
        return false;
5745
1.61k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5746
5747
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5748
3.56k
    {
5749
3.56k
        reader_error_handler eh{};
5750
3.56k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
0
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
3.56k
        else {
5754
3.56k
            detail::check_char_type_specs(specs, eh);
5755
3.56k
        }
5756
3.56k
        if (SCN_UNLIKELY(!eh)) {
5757
2.30k
            return detail::unexpected_scan_error(
5758
2.30k
                scan_error::invalid_format_string, eh.m_msg);
5759
2.30k
        }
5760
1.25k
        return {};
5761
3.56k
    }
scn::v4::impl::char_reader_base<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
2.35k
    {
5749
2.35k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
2.35k
        else {
5754
2.35k
            detail::check_char_type_specs(specs, eh);
5755
2.35k
        }
5756
2.35k
        if (SCN_UNLIKELY(!eh)) {
5757
1.69k
            return detail::unexpected_scan_error(
5758
1.69k
                scan_error::invalid_format_string, eh.m_msg);
5759
1.69k
        }
5760
658
        return {};
5761
2.35k
    }
scn::v4::impl::char_reader_base<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
1.20k
    {
5749
1.20k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
1.20k
        else {
5754
1.20k
            detail::check_char_type_specs(specs, eh);
5755
1.20k
        }
5756
1.20k
        if (SCN_UNLIKELY(!eh)) {
5757
608
            return detail::unexpected_scan_error(
5758
608
                scan_error::invalid_format_string, eh.m_msg);
5759
608
        }
5760
598
        return {};
5761
1.20k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::check_specs(scn::v4::detail::format_specs const&)
5762
};
5763
5764
template <typename CharT>
5765
class reader_impl_for_char : public char_reader_base<char> {
5766
public:
5767
    template <typename Range>
5768
    auto read_default(Range range, char& value, detail::locale_ref loc)
5769
        -> scan_expected<ranges::const_iterator_t<Range>>
5770
1.22k
    {
5771
1.22k
        SCN_UNUSED(loc);
5772
1.22k
        if constexpr (std::is_same_v<CharT, char>) {
5773
1.22k
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
0
        else {
5776
0
            SCN_UNUSED(range);
5777
0
            SCN_EXPECT(false);
5778
0
            SCN_UNREACHABLE;
5779
0
        }
5780
1.22k
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5770
332
    {
5771
332
        SCN_UNUSED(loc);
5772
332
        if constexpr (std::is_same_v<CharT, char>) {
5773
332
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
332
    }
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5770
892
    {
5771
892
        SCN_UNUSED(loc);
5772
892
        if constexpr (std::is_same_v<CharT, char>) {
5773
892
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
892
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5781
5782
    template <typename Range>
5783
    auto read_specs(Range range,
5784
                    const detail::format_specs& specs,
5785
                    char& value,
5786
                    detail::locale_ref loc)
5787
        -> scan_expected<ranges::const_iterator_t<Range>>
5788
652
    {
5789
652
        if (specs.type == detail::presentation_type::none ||
5790
652
            specs.type == detail::presentation_type::character) {
5791
594
            return read_default(range, value, loc);
5792
594
        }
5793
5794
58
        reader_impl_for_int<CharT> reader{};
5795
58
        signed char tmp_value{};
5796
58
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
58
        value = static_cast<char>(tmp_value);
5798
58
        return ret;
5799
652
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5788
368
    {
5789
368
        if (specs.type == detail::presentation_type::none ||
5790
368
            specs.type == detail::presentation_type::character) {
5791
332
            return read_default(range, value, loc);
5792
332
        }
5793
5794
36
        reader_impl_for_int<CharT> reader{};
5795
36
        signed char tmp_value{};
5796
36
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
36
        value = static_cast<char>(tmp_value);
5798
36
        return ret;
5799
368
    }
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5788
284
    {
5789
284
        if (specs.type == detail::presentation_type::none ||
5790
284
            specs.type == detail::presentation_type::character) {
5791
262
            return read_default(range, value, loc);
5792
262
        }
5793
5794
22
        reader_impl_for_int<CharT> reader{};
5795
22
        signed char tmp_value{};
5796
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
22
        value = static_cast<char>(tmp_value);
5798
22
        return ret;
5799
284
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5800
};
5801
5802
template <typename CharT>
5803
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5804
public:
5805
    template <typename Range>
5806
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5807
        -> scan_expected<ranges::const_iterator_t<Range>>
5808
998
    {
5809
998
        SCN_UNUSED(loc);
5810
998
        if constexpr (std::is_same_v<CharT, char>) {
5811
0
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
998
        else {
5814
998
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
998
        }
5816
998
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5808
148
    {
5809
148
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
148
        else {
5814
148
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
148
        }
5816
148
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5808
850
    {
5809
850
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
850
        else {
5814
850
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
850
        }
5816
850
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5817
5818
    template <typename Range>
5819
    auto read_specs(Range range,
5820
                    const detail::format_specs& specs,
5821
                    wchar_t& value,
5822
                    detail::locale_ref loc)
5823
        -> scan_expected<ranges::const_iterator_t<Range>>
5824
596
    {
5825
596
        if (specs.type == detail::presentation_type::none ||
5826
596
            specs.type == detail::presentation_type::character) {
5827
504
            return read_default(range, value, loc);
5828
504
        }
5829
5830
92
        reader_impl_for_int<CharT> reader{};
5831
92
        using integer_type =
5832
92
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
92
        integer_type tmp_value{};
5834
92
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
92
        value = static_cast<wchar_t>(tmp_value);
5836
92
        return ret;
5837
596
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5824
192
    {
5825
192
        if (specs.type == detail::presentation_type::none ||
5826
192
            specs.type == detail::presentation_type::character) {
5827
148
            return read_default(range, value, loc);
5828
148
        }
5829
5830
44
        reader_impl_for_int<CharT> reader{};
5831
44
        using integer_type =
5832
44
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
44
        integer_type tmp_value{};
5834
44
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
44
        value = static_cast<wchar_t>(tmp_value);
5836
44
        return ret;
5837
192
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5824
404
    {
5825
404
        if (specs.type == detail::presentation_type::none ||
5826
404
            specs.type == detail::presentation_type::character) {
5827
356
            return read_default(range, value, loc);
5828
356
        }
5829
5830
48
        reader_impl_for_int<CharT> reader{};
5831
48
        using integer_type =
5832
48
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
48
        integer_type tmp_value{};
5834
48
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
48
        value = static_cast<wchar_t>(tmp_value);
5836
48
        return ret;
5837
404
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5838
};
5839
5840
template <typename CharT>
5841
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5842
public:
5843
    template <typename Range>
5844
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5845
        -> scan_expected<ranges::const_iterator_t<Range>>
5846
0
    {
5847
0
        SCN_UNUSED(loc);
5848
0
        return code_point_reader<char32_t>{}.read(range, value);
5849
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5850
5851
    template <typename Range>
5852
    auto read_specs(Range range,
5853
                    const detail::format_specs& specs,
5854
                    char32_t& value,
5855
                    detail::locale_ref loc)
5856
        -> scan_expected<ranges::const_iterator_t<Range>>
5857
0
    {
5858
0
        SCN_UNUSED(specs);
5859
0
        return read_default(range, value, loc);
5860
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5861
};
5862
5863
/////////////////////////////////////////////////////////////////
5864
// Pointer reader
5865
/////////////////////////////////////////////////////////////////
5866
5867
template <typename CharT>
5868
class reader_impl_for_voidptr {
5869
public:
5870
    constexpr reader_impl_for_voidptr() = default;
5871
5872
    bool skip_ws_before_read() const
5873
2.29k
    {
5874
2.29k
        return true;
5875
2.29k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5873
1.23k
    {
5874
1.23k
        return true;
5875
1.23k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5873
1.06k
    {
5874
1.06k
        return true;
5875
1.06k
    }
5876
5877
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5878
3.56k
    {
5879
3.56k
        reader_error_handler eh{};
5880
3.56k
        detail::check_pointer_type_specs(specs, eh);
5881
3.56k
        if (SCN_UNLIKELY(!eh)) {
5882
2.44k
            return detail::unexpected_scan_error(
5883
2.44k
                scan_error::invalid_format_string, eh.m_msg);
5884
2.44k
        }
5885
1.12k
        return {};
5886
3.56k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
2.35k
    {
5879
2.35k
        reader_error_handler eh{};
5880
2.35k
        detail::check_pointer_type_specs(specs, eh);
5881
2.35k
        if (SCN_UNLIKELY(!eh)) {
5882
1.75k
            return detail::unexpected_scan_error(
5883
1.75k
                scan_error::invalid_format_string, eh.m_msg);
5884
1.75k
        }
5885
604
        return {};
5886
2.35k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
1.20k
    {
5879
1.20k
        reader_error_handler eh{};
5880
1.20k
        detail::check_pointer_type_specs(specs, eh);
5881
1.20k
        if (SCN_UNLIKELY(!eh)) {
5882
690
            return detail::unexpected_scan_error(
5883
690
                scan_error::invalid_format_string, eh.m_msg);
5884
690
        }
5885
516
        return {};
5886
1.20k
    }
5887
5888
    template <typename Range>
5889
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5890
        -> scan_expected<ranges::const_iterator_t<Range>>
5891
2.20k
    {
5892
2.20k
        detail::format_specs specs{};
5893
2.20k
        specs.type = detail::presentation_type::int_hex;
5894
5895
2.20k
        std::uintptr_t intvalue{};
5896
2.20k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
50
                                                                intvalue, loc));
5898
50
        value = reinterpret_cast<void*>(intvalue);
5899
50
        return result;
5900
2.20k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
896
    {
5892
896
        detail::format_specs specs{};
5893
896
        specs.type = detail::presentation_type::int_hex;
5894
5895
896
        std::uintptr_t intvalue{};
5896
896
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
896
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
310
    {
5892
310
        detail::format_specs specs{};
5893
310
        specs.type = detail::presentation_type::int_hex;
5894
5895
310
        std::uintptr_t intvalue{};
5896
310
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
310
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
854
    {
5892
854
        detail::format_specs specs{};
5893
854
        specs.type = detail::presentation_type::int_hex;
5894
5895
854
        std::uintptr_t intvalue{};
5896
854
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
40
                                                                intvalue, loc));
5898
40
        value = reinterpret_cast<void*>(intvalue);
5899
40
        return result;
5900
854
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
146
    {
5892
146
        detail::format_specs specs{};
5893
146
        specs.type = detail::presentation_type::int_hex;
5894
5895
146
        std::uintptr_t intvalue{};
5896
146
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
10
                                                                intvalue, loc));
5898
10
        value = reinterpret_cast<void*>(intvalue);
5899
10
        return result;
5900
146
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5901
5902
    template <typename Range>
5903
    auto read_specs(Range range,
5904
                    const detail::format_specs& specs,
5905
                    void*& value,
5906
                    detail::locale_ref loc)
5907
        -> scan_expected<ranges::const_iterator_t<Range>>
5908
1.08k
    {
5909
1.08k
        SCN_UNUSED(specs);
5910
1.08k
        return read_default(range, value, loc);
5911
1.08k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
310
    {
5909
310
        SCN_UNUSED(specs);
5910
310
        return read_default(range, value, loc);
5911
310
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
266
    {
5909
266
        SCN_UNUSED(specs);
5910
266
        return read_default(range, value, loc);
5911
266
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
146
    {
5909
146
        SCN_UNUSED(specs);
5910
146
        return read_default(range, value, loc);
5911
146
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
360
    {
5909
360
        SCN_UNUSED(specs);
5910
360
        return read_default(range, value, loc);
5911
360
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5912
};
5913
5914
/////////////////////////////////////////////////////////////////
5915
// Argument readers
5916
/////////////////////////////////////////////////////////////////
5917
5918
template <typename Range>
5919
auto skip_ws_before_if_required(bool is_required, Range range)
5920
    -> eof_expected<ranges::iterator_t<Range>>
5921
10.1k
{
5922
10.1k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
10.1k
    if (!is_required) {
5927
1.12k
        return range.begin();
5928
1.12k
    }
5929
5930
8.99k
    return skip_classic_whitespace(range);
5931
10.1k
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
5.67k
{
5922
5.67k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
5.67k
    if (!is_required) {
5927
630
        return range.begin();
5928
630
    }
5929
5930
5.04k
    return skip_classic_whitespace(range);
5931
5.67k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
4.44k
{
5922
4.44k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
4.44k
    if (!is_required) {
5927
494
        return range.begin();
5928
494
    }
5929
5930
3.95k
    return skip_classic_whitespace(range);
5931
4.44k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5932
5933
template <typename T, typename CharT>
5934
constexpr auto make_reader()
5935
14.0k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
4.68k
                       std::is_same_v<T, std::wstring_view>) {
5950
4.68k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
9.36k
                       std::is_same_v<T, std::wstring>) {
5954
9.36k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
14.0k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5935
2.98k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
2.98k
                       std::is_same_v<T, std::wstring>) {
5954
2.98k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.98k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5935
2.98k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
2.98k
                       std::is_same_v<T, std::wstring>) {
5954
2.98k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.98k
}
auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5935
2.98k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
2.98k
                       std::is_same_v<T, std::wstring_view>) {
5950
2.98k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
2.98k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5935
1.70k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.70k
                       std::is_same_v<T, std::wstring>) {
5954
1.70k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.70k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.70k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.70k
                       std::is_same_v<T, std::wstring>) {
5954
1.70k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.70k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.70k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
1.70k
                       std::is_same_v<T, std::wstring_view>) {
5950
1.70k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.70k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, wchar_t>()
5988
5989
template <typename Context>
5990
struct default_arg_reader {
5991
    using context_type = Context;
5992
    using char_type = typename context_type::char_type;
5993
    using args_type = basic_scan_args<detail::default_context<char_type>>;
5994
5995
    using range_type = typename context_type::range_type;
5996
    using iterator = ranges::iterator_t<range_type>;
5997
5998
    template <typename Reader, typename Range, typename T>
5999
    auto impl(Reader& rd, Range rng, T& value)
6000
        -> scan_expected<ranges::iterator_t<Range>>
6001
10.1k
    {
6002
10.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
10.1k
                        .transform_error(make_eof_scan_error));
6004
10.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
10.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
630
    {
6002
630
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
630
                        .transform_error(make_eof_scan_error));
6004
630
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
630
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
494
    {
6002
494
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
494
                        .transform_error(make_eof_scan_error));
6004
494
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
494
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
6006
6007
    template <typename T>
6008
    scan_expected<iterator> operator()(T& value)
6009
10.1k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
10.1k
                          basic_contiguous_scan_context<char_type>>) {
6014
10.1k
            auto rd = make_reader<T, char_type>();
6015
10.1k
            return impl(rd, range, value);
6016
        }
6017
0
        else if constexpr (!detail::is_type_disabled<T>) {
6018
0
            auto rd = make_reader<T, char_type>();
6019
0
            if (!is_segment_contiguous(range)) {
6020
0
                return impl(rd, range, value);
6021
0
            }
6022
0
            auto crange = get_as_contiguous(range);
6023
0
            SCN_TRY(it, impl(rd, crange, value));
6024
0
            return ranges::next(range.begin(),
6025
0
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
10.1k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6009
630
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
630
                          basic_contiguous_scan_context<char_type>>) {
6014
630
            auto rd = make_reader<T, char_type>();
6015
630
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
630
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6009
494
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
494
                          basic_contiguous_scan_context<char_type>>) {
6014
494
            auto rd = make_reader<T, char_type>();
6015
494
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
494
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
6032
6033
    detail::default_context<char_type> make_custom_ctx()
6034
0
    {
6035
        if constexpr (std::is_same_v<
6036
                          context_type,
6037
0
                          basic_contiguous_scan_context<char_type>>) {
6038
0
            auto it =
6039
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6040
0
                    std::basic_string_view<char_type>(range.data(),
6041
0
                                                      range.size()),
6042
0
                    0};
6043
0
            return {it, args, loc};
6044
        }
6045
0
        else {
6046
0
            return {range.begin(), args, loc};
6047
0
        }
6048
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::make_custom_ctx()
6049
6050
    scan_expected<iterator> operator()(
6051
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6052
0
    {
6053
0
        if constexpr (!detail::is_type_disabled<void>) {
6054
0
            basic_scan_parse_context<char_type> parse_ctx{
6055
0
                source_tag<range_type>, {}};
6056
0
            auto ctx = make_custom_ctx();
6057
0
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6058
6059
            if constexpr (std::is_same_v<
6060
                              context_type,
6061
0
                              basic_contiguous_scan_context<char_type>>) {
6062
0
                return range.begin() + ctx.begin().position();
6063
            }
6064
0
            else {
6065
0
                return ctx.begin();
6066
0
            }
6067
        }
6068
        else {
6069
            SCN_EXPECT(false);
6070
            SCN_UNREACHABLE;
6071
        }
6072
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
6073
6074
    range_type range;
6075
    args_type args;
6076
    detail::locale_ref loc;
6077
};
6078
6079
template <typename Iterator>
6080
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
6081
6082
template <typename Range>
6083
auto skip_fill(Range range,
6084
               std::ptrdiff_t max_width,
6085
               const detail::fill_type& fill,
6086
               bool want_skipped_width)
6087
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6088
4.27k
{
6089
4.27k
    using char_type = detail::char_t<Range>;
6090
4.27k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
4.27k
    if (fill.size() <= sizeof(char_type)) {
6093
2.85k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
4.60k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
912
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
2.19k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
708
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
782
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
2.85k
        if (max_width == 0) {
6097
1.54k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.54k
            if (want_skipped_width) {
6100
250
                auto prefix_width =
6101
250
                    static_cast<std::ptrdiff_t>(
6102
250
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
250
                    ranges::distance(range.begin(), it);
6104
250
                return result_type{it, prefix_width};
6105
250
            }
6106
1.29k
            return result_type{it, 0};
6107
1.54k
        }
6108
6109
1.31k
        auto max_width_view = take_width(range, max_width);
6110
1.31k
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
1.31k
        if (want_skipped_width) {
6113
1.31k
            return result_type{w_it.base(), max_width - w_it.count()};
6114
1.31k
        }
6115
0
        return result_type{w_it.base(), 0};
6116
1.31k
    }
6117
6118
1.41k
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
1.41k
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
1.10k
    auto max_width_view = take_width(range, max_width);
6132
1.10k
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
1.10k
    if (want_skipped_width) {
6135
1.10k
        return result_type{w_it.base(), max_width - w_it.count()};
6136
1.10k
    }
6137
0
    return result_type{w_it.base(), 0};
6138
1.10k
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.14k
{
6089
1.14k
    using char_type = detail::char_t<Range>;
6090
1.14k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.14k
    if (fill.size() <= sizeof(char_type)) {
6093
494
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
494
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
494
        if (max_width == 0) {
6097
390
            auto it = read_while_code_unit(range, pred);
6098
6099
390
            if (want_skipped_width) {
6100
112
                auto prefix_width =
6101
112
                    static_cast<std::ptrdiff_t>(
6102
112
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
112
                    ranges::distance(range.begin(), it);
6104
112
                return result_type{it, prefix_width};
6105
112
            }
6106
278
            return result_type{it, 0};
6107
390
        }
6108
6109
104
        auto max_width_view = take_width(range, max_width);
6110
104
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
104
        if (want_skipped_width) {
6113
104
            return result_type{w_it.base(), max_width - w_it.count()};
6114
104
        }
6115
0
        return result_type{w_it.base(), 0};
6116
104
    }
6117
6118
654
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
654
    if (max_width == 0) {
6120
316
        auto it = read_while_code_units(range, fill_chars);
6121
6122
316
        if (want_skipped_width) {
6123
94
            auto prefix_width =
6124
94
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
94
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
94
            return result_type{it, prefix_width};
6127
94
        }
6128
222
        return result_type{it, 0};
6129
316
    }
6130
6131
338
    auto max_width_view = take_width(range, max_width);
6132
338
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
338
    if (want_skipped_width) {
6135
338
        return result_type{w_it.base(), max_width - w_it.count()};
6136
338
    }
6137
0
    return result_type{w_it.base(), 0};
6138
338
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.35k
{
6089
1.35k
    using char_type = detail::char_t<Range>;
6090
1.35k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.35k
    if (fill.size() <= sizeof(char_type)) {
6093
1.35k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
1.35k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
1.35k
        if (max_width == 0) {
6097
1.15k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.15k
            if (want_skipped_width) {
6100
138
                auto prefix_width =
6101
138
                    static_cast<std::ptrdiff_t>(
6102
138
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
138
                    ranges::distance(range.begin(), it);
6104
138
                return result_type{it, prefix_width};
6105
138
            }
6106
1.01k
            return result_type{it, 0};
6107
1.15k
        }
6108
6109
198
        auto max_width_view = take_width(range, max_width);
6110
198
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
198
        if (want_skipped_width) {
6113
198
            return result_type{w_it.base(), max_width - w_it.count()};
6114
198
        }
6115
0
        return result_type{w_it.base(), 0};
6116
198
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.25k
{
6089
1.25k
    using char_type = detail::char_t<Range>;
6090
1.25k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.25k
    if (fill.size() <= sizeof(char_type)) {
6093
492
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
492
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
492
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
492
        auto max_width_view = take_width(range, max_width);
6110
492
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
492
        if (want_skipped_width) {
6113
492
            return result_type{w_it.base(), max_width - w_it.count()};
6114
492
        }
6115
0
        return result_type{w_it.base(), 0};
6116
492
    }
6117
6118
764
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
764
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
764
    auto max_width_view = take_width(range, max_width);
6132
764
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
764
    if (want_skipped_width) {
6135
764
        return result_type{w_it.base(), max_width - w_it.count()};
6136
764
    }
6137
0
    return result_type{w_it.base(), 0};
6138
764
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
518
{
6089
518
    using char_type = detail::char_t<Range>;
6090
518
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
518
    if (fill.size() <= sizeof(char_type)) {
6093
518
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
518
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
518
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
518
        auto max_width_view = take_width(range, max_width);
6110
518
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
518
        if (want_skipped_width) {
6113
518
            return result_type{w_it.base(), max_width - w_it.count()};
6114
518
        }
6115
0
        return result_type{w_it.base(), 0};
6116
518
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
6139
6140
SCN_MAYBE_UNUSED constexpr scan_expected<void> check_widths_for_arg_reader(
6141
    const detail::format_specs& specs,
6142
    std::ptrdiff_t prefix_width,
6143
    std::ptrdiff_t value_width,
6144
    std::ptrdiff_t postfix_width)
6145
7.76k
{
6146
7.76k
    if (specs.width != 0) {
6147
2.08k
        if (prefix_width + value_width + postfix_width < specs.width) {
6148
906
            return detail::unexpected_scan_error(
6149
906
                scan_error::length_too_short,
6150
906
                "Scanned value too narrow, width did not exceed what "
6151
906
                "was specified in the format string");
6152
906
        }
6153
2.08k
    }
6154
6.85k
    if (specs.precision != 0) {
6155
        // Ensured by take_width_view
6156
2.90k
        SCN_ENSURE(prefix_width + value_width + postfix_width <=
6157
2.90k
                   specs.precision);
6158
2.90k
    }
6159
6.85k
    return {};
6160
6.85k
}
6161
6162
template <typename Context>
6163
struct arg_reader {
6164
    using context_type = Context;
6165
    using char_type = typename context_type::char_type;
6166
6167
    using range_type = typename context_type::range_type;
6168
    using iterator = ranges::iterator_t<range_type>;
6169
6170
    template <typename Range>
6171
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6172
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6173
17.6k
    {
6174
17.6k
        const bool need_skipped_width =
6175
17.6k
            specs.width != 0 || specs.precision != 0;
6176
17.6k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
17.6k
        if (specs.align == detail::align_type::right ||
6180
17.6k
            specs.align == detail::align_type::center) {
6181
3.03k
            return skip_fill(rng, specs.precision, specs.fill,
6182
3.03k
                             need_skipped_width);
6183
3.03k
        }
6184
14.6k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
7.67k
            if (specs.precision != 0) {
6188
3.40k
                auto max_width_view = take_width(rng, specs.precision);
6189
3.40k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
3.05k
                                  .transform_error(make_eof_scan_error));
6191
3.05k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
3.40k
            }
6193
8.53k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
8.53k
                            make_eof_scan_error));
6195
6196
8.53k
            if (need_skipped_width) {
6197
2.94k
                return result_type{
6198
2.94k
                    it,
6199
2.94k
                    calculate_text_width(make_contiguous_buffer(
6200
2.94k
                                             ranges::subrange{rng.begin(), it})
6201
2.94k
                                             .view())};
6202
2.94k
            }
6203
1.32k
            return result_type{it, 0};
6204
8.53k
        }
6205
6206
6.98k
        return result_type{rng.begin(), 0};
6207
14.6k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
4.96k
    {
6174
4.96k
        const bool need_skipped_width =
6175
4.96k
            specs.width != 0 || specs.precision != 0;
6176
4.96k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.96k
        if (specs.align == detail::align_type::right ||
6180
4.96k
            specs.align == detail::align_type::center) {
6181
1.25k
            return skip_fill(rng, specs.precision, specs.fill,
6182
1.25k
                             need_skipped_width);
6183
1.25k
        }
6184
3.71k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.20k
            if (specs.precision != 0) {
6188
2.20k
                auto max_width_view = take_width(rng, specs.precision);
6189
2.20k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.96k
                                  .transform_error(make_eof_scan_error));
6191
1.96k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
2.20k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
1.50k
        return result_type{rng.begin(), 0};
6207
3.71k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
5.91k
    {
6174
5.91k
        const bool need_skipped_width =
6175
5.91k
            specs.width != 0 || specs.precision != 0;
6176
5.91k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
5.91k
        if (specs.align == detail::align_type::right ||
6180
5.91k
            specs.align == detail::align_type::center) {
6181
476
            return skip_fill(rng, specs.precision, specs.fill,
6182
476
                             need_skipped_width);
6183
476
        }
6184
5.44k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.73k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
3.46k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
3.46k
                            make_eof_scan_error));
6195
6196
3.46k
            if (need_skipped_width) {
6197
1.11k
                return result_type{
6198
1.11k
                    it,
6199
1.11k
                    calculate_text_width(make_contiguous_buffer(
6200
1.11k
                                             ranges::subrange{rng.begin(), it})
6201
1.11k
                                             .view())};
6202
1.11k
            }
6203
622
            return result_type{it, 0};
6204
3.46k
        }
6205
6206
3.70k
        return result_type{rng.begin(), 0};
6207
5.44k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
2.46k
    {
6174
2.46k
        const bool need_skipped_width =
6175
2.46k
            specs.width != 0 || specs.precision != 0;
6176
2.46k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
2.46k
        if (specs.align == detail::align_type::right ||
6180
2.46k
            specs.align == detail::align_type::center) {
6181
518
            return skip_fill(rng, specs.precision, specs.fill,
6182
518
                             need_skipped_width);
6183
518
        }
6184
1.94k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.20k
            if (specs.precision != 0) {
6188
1.20k
                auto max_width_view = take_width(rng, specs.precision);
6189
1.20k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.08k
                                  .transform_error(make_eof_scan_error));
6191
1.08k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
1.20k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
740
        return result_type{rng.begin(), 0};
6207
1.94k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
4.34k
    {
6174
4.34k
        const bool need_skipped_width =
6175
4.34k
            specs.width != 0 || specs.precision != 0;
6176
4.34k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.34k
        if (specs.align == detail::align_type::right ||
6180
4.34k
            specs.align == detail::align_type::center) {
6181
786
            return skip_fill(rng, specs.precision, specs.fill,
6182
786
                             need_skipped_width);
6183
786
        }
6184
3.56k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.53k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
5.07k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
5.07k
                            make_eof_scan_error));
6195
6196
5.07k
            if (need_skipped_width) {
6197
1.83k
                return result_type{
6198
1.83k
                    it,
6199
1.83k
                    calculate_text_width(make_contiguous_buffer(
6200
1.83k
                                             ranges::subrange{rng.begin(), it})
6201
1.83k
                                             .view())};
6202
1.83k
            }
6203
704
            return result_type{it, 0};
6204
5.07k
        }
6205
6206
1.02k
        return result_type{rng.begin(), 0};
6207
3.56k
    }
6208
6209
    template <typename Range>
6210
    auto impl_postfix(Range rng,
6211
                      bool rd_skip_ws_before_read,
6212
                      std::ptrdiff_t prefix_width,
6213
                      std::ptrdiff_t value_width)
6214
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6215
5.67k
    {
6216
5.67k
        const bool need_skipped_width =
6217
5.67k
            specs.width != 0 || specs.precision != 0;
6218
5.67k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
5.67k
        if (specs.align == detail::align_type::left ||
6221
5.67k
            specs.align == detail::align_type::center) {
6222
1.52k
            if (specs.precision != 0 &&
6223
1.52k
                specs.precision - value_width - prefix_width == 0) {
6224
290
                return result_type{rng.begin(), 0};
6225
290
            }
6226
1.23k
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
1.23k
                             specs.fill, need_skipped_width);
6228
1.52k
        }
6229
4.15k
        if (specs.align == detail::align_type::none &&
6230
4.15k
            !rd_skip_ws_before_read &&
6231
4.15k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
3.29k
             (specs.precision != 0 &&
6233
2.76k
              prefix_width + value_width < specs.precision))) {
6234
1.51k
            if (specs.precision != 0) {
6235
980
                const auto initial_width =
6236
980
                    specs.precision - prefix_width - value_width;
6237
980
                auto max_width_view = take_width(rng, initial_width);
6238
980
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
980
                                  .transform_error(make_eof_scan_error));
6240
980
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
980
            }
6242
1.06k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
1.06k
                            make_eof_scan_error));
6244
6245
1.06k
            if (need_skipped_width) {
6246
534
                return result_type{
6247
534
                    it,
6248
534
                    calculate_text_width(make_contiguous_buffer(
6249
534
                                             ranges::subrange{rng.begin(), it})
6250
534
                                             .view())};
6251
534
            }
6252
0
            return result_type{it, 0};
6253
1.06k
        }
6254
2.63k
        return result_type{rng.begin(), 0};
6255
4.15k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
3.31k
    {
6216
3.31k
        const bool need_skipped_width =
6217
3.31k
            specs.width != 0 || specs.precision != 0;
6218
3.31k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
3.31k
        if (specs.align == detail::align_type::left ||
6221
3.31k
            specs.align == detail::align_type::center) {
6222
826
            if (specs.precision != 0 &&
6223
826
                specs.precision - value_width - prefix_width == 0) {
6224
154
                return result_type{rng.begin(), 0};
6225
154
            }
6226
672
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
672
                             specs.fill, need_skipped_width);
6228
826
        }
6229
2.48k
        if (specs.align == detail::align_type::none &&
6230
2.48k
            !rd_skip_ws_before_read &&
6231
2.48k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
2.02k
             (specs.precision != 0 &&
6233
1.86k
              prefix_width + value_width < specs.precision))) {
6234
726
            if (specs.precision != 0) {
6235
566
                const auto initial_width =
6236
566
                    specs.precision - prefix_width - value_width;
6237
566
                auto max_width_view = take_width(rng, initial_width);
6238
566
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
566
                                  .transform_error(make_eof_scan_error));
6240
566
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
566
            }
6242
320
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
320
                            make_eof_scan_error));
6244
6245
320
            if (need_skipped_width) {
6246
160
                return result_type{
6247
160
                    it,
6248
160
                    calculate_text_width(make_contiguous_buffer(
6249
160
                                             ranges::subrange{rng.begin(), it})
6250
160
                                             .view())};
6251
160
            }
6252
0
            return result_type{it, 0};
6253
320
        }
6254
1.76k
        return result_type{rng.begin(), 0};
6255
2.48k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
2.36k
    {
6216
2.36k
        const bool need_skipped_width =
6217
2.36k
            specs.width != 0 || specs.precision != 0;
6218
2.36k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
2.36k
        if (specs.align == detail::align_type::left ||
6221
2.36k
            specs.align == detail::align_type::center) {
6222
700
            if (specs.precision != 0 &&
6223
700
                specs.precision - value_width - prefix_width == 0) {
6224
136
                return result_type{rng.begin(), 0};
6225
136
            }
6226
564
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
564
                             specs.fill, need_skipped_width);
6228
700
        }
6229
1.66k
        if (specs.align == detail::align_type::none &&
6230
1.66k
            !rd_skip_ws_before_read &&
6231
1.66k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
1.27k
             (specs.precision != 0 &&
6233
898
              prefix_width + value_width < specs.precision))) {
6234
788
            if (specs.precision != 0) {
6235
414
                const auto initial_width =
6236
414
                    specs.precision - prefix_width - value_width;
6237
414
                auto max_width_view = take_width(rng, initial_width);
6238
414
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
414
                                  .transform_error(make_eof_scan_error));
6240
414
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
414
            }
6242
748
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
748
                            make_eof_scan_error));
6244
6245
748
            if (need_skipped_width) {
6246
374
                return result_type{
6247
374
                    it,
6248
374
                    calculate_text_width(make_contiguous_buffer(
6249
374
                                             ranges::subrange{rng.begin(), it})
6250
374
                                             .view())};
6251
374
            }
6252
0
            return result_type{it, 0};
6253
748
        }
6254
878
        return result_type{rng.begin(), 0};
6255
1.66k
    }
6256
6257
    template <typename Reader, typename Range, typename T>
6258
    auto impl(Reader& rd, Range rng, T& value)
6259
        -> scan_expected<ranges::iterator_t<Range>>
6260
17.6k
    {
6261
17.6k
        const bool need_skipped_width =
6262
17.6k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
17.6k
        auto it = rng.begin();
6266
17.6k
        std::ptrdiff_t prefix_width = 0;
6267
17.6k
        if (specs.precision != 0) {
6268
7.42k
            auto max_width_view = take_width(rng, specs.precision);
6269
7.42k
            SCN_TRY(prefix_result,
6270
7.07k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
7.07k
            it = prefix_result.first.base();
6272
7.07k
            prefix_width = prefix_result.second;
6273
7.07k
        }
6274
10.2k
        else {
6275
10.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
10.2k
            std::tie(it, prefix_width) = prefix_result;
6277
10.2k
        }
6278
17.3k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
17.3k
        std::ptrdiff_t value_width = 0;
6282
17.3k
        if (specs.precision != 0) {
6283
7.07k
            if (specs.precision <= prefix_width) {
6284
104
                return detail::unexpected_scan_error(
6285
104
                    scan_error::invalid_fill,
6286
104
                    "Too many fill characters before value, "
6287
104
                    "precision exceeded before reading value");
6288
104
            }
6289
6290
6.96k
            const auto initial_width = specs.precision - prefix_width;
6291
6.96k
            auto max_width_view =
6292
6.96k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
6.96k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
2.90k
            it = w_it.base();
6295
2.90k
            value_width = initial_width - w_it.count();
6296
2.90k
        }
6297
10.2k
        else {
6298
10.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
4.85k
                                             specs, value, loc));
6300
6301
4.85k
            if (need_skipped_width) {
6302
2.03k
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
2.03k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
2.03k
                        .view()));
6305
2.03k
            }
6306
4.85k
        }
6307
6308
        // Read postfix
6309
7.76k
        std::ptrdiff_t postfix_width = 0;
6310
7.76k
        if (it != rng.end()) {
6311
5.67k
            SCN_TRY(postfix_result,
6312
5.67k
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
5.67k
                                 rd.skip_ws_before_read(), prefix_width,
6314
5.67k
                                 value_width));
6315
5.67k
            std::tie(it, postfix_width) = postfix_result;
6316
5.67k
        }
6317
6318
7.76k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
7.76k
            specs, prefix_width, value_width, postfix_width));
6320
6.85k
        return it;
6321
7.76k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSC_IwNSD_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSC_IcNSD_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
680
    {
6261
680
        const bool need_skipped_width =
6262
680
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
680
        auto it = rng.begin();
6266
680
        std::ptrdiff_t prefix_width = 0;
6267
680
        if (specs.precision != 0) {
6268
386
            auto max_width_view = take_width(rng, specs.precision);
6269
386
            SCN_TRY(prefix_result,
6270
354
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
354
            it = prefix_result.first.base();
6272
354
            prefix_width = prefix_result.second;
6273
354
        }
6274
294
        else {
6275
294
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
294
            std::tie(it, prefix_width) = prefix_result;
6277
294
        }
6278
648
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
648
        std::ptrdiff_t value_width = 0;
6282
648
        if (specs.precision != 0) {
6283
354
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
348
            const auto initial_width = specs.precision - prefix_width;
6291
348
            auto max_width_view =
6292
348
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
348
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
294
        else {
6298
294
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
680
    {
6261
680
        const bool need_skipped_width =
6262
680
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
680
        auto it = rng.begin();
6266
680
        std::ptrdiff_t prefix_width = 0;
6267
680
        if (specs.precision != 0) {
6268
386
            auto max_width_view = take_width(rng, specs.precision);
6269
386
            SCN_TRY(prefix_result,
6270
354
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
354
            it = prefix_result.first.base();
6272
354
            prefix_width = prefix_result.second;
6273
354
        }
6274
294
        else {
6275
294
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
294
            std::tie(it, prefix_width) = prefix_result;
6277
294
        }
6278
648
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
648
        std::ptrdiff_t value_width = 0;
6282
648
        if (specs.precision != 0) {
6283
354
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
348
            const auto initial_width = specs.precision - prefix_width;
6291
348
            auto max_width_view =
6292
348
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
348
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
294
        else {
6298
294
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
604
    {
6261
604
        const bool need_skipped_width =
6262
604
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
604
        auto it = rng.begin();
6266
604
        std::ptrdiff_t prefix_width = 0;
6267
604
        if (specs.precision != 0) {
6268
338
            auto max_width_view = take_width(rng, specs.precision);
6269
338
            SCN_TRY(prefix_result,
6270
314
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
314
            it = prefix_result.first.base();
6272
314
            prefix_width = prefix_result.second;
6273
314
        }
6274
266
        else {
6275
266
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
266
            std::tie(it, prefix_width) = prefix_result;
6277
266
        }
6278
580
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
580
        std::ptrdiff_t value_width = 0;
6282
580
        if (specs.precision != 0) {
6283
314
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
310
            const auto initial_width = specs.precision - prefix_width;
6291
310
            auto max_width_view =
6292
310
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
310
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
266
        else {
6298
266
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
942
    {
6261
942
        const bool need_skipped_width =
6262
942
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
942
        auto it = rng.begin();
6266
942
        std::ptrdiff_t prefix_width = 0;
6267
942
        if (specs.precision != 0) {
6268
510
            auto max_width_view = take_width(rng, specs.precision);
6269
510
            SCN_TRY(prefix_result,
6270
474
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
474
            it = prefix_result.first.base();
6272
474
            prefix_width = prefix_result.second;
6273
474
        }
6274
432
        else {
6275
432
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
432
            std::tie(it, prefix_width) = prefix_result;
6277
432
        }
6278
906
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
906
        std::ptrdiff_t value_width = 0;
6282
906
        if (specs.precision != 0) {
6283
474
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
464
            const auto initial_width = specs.precision - prefix_width;
6291
464
            auto max_width_view =
6292
464
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
464
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
432
        else {
6298
432
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
658
    {
6261
658
        const bool need_skipped_width =
6262
658
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
658
        auto it = rng.begin();
6266
658
        std::ptrdiff_t prefix_width = 0;
6267
658
        if (specs.precision != 0) {
6268
374
            auto max_width_view = take_width(rng, specs.precision);
6269
374
            SCN_TRY(prefix_result,
6270
374
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
374
            it = prefix_result.first.base();
6272
374
            prefix_width = prefix_result.second;
6273
374
        }
6274
284
        else {
6275
284
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
284
            std::tie(it, prefix_width) = prefix_result;
6277
284
        }
6278
658
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
658
        std::ptrdiff_t value_width = 0;
6282
658
        if (specs.precision != 0) {
6283
374
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
368
            const auto initial_width = specs.precision - prefix_width;
6291
368
            auto max_width_view =
6292
368
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
368
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
332
            it = w_it.base();
6295
332
            value_width = initial_width - w_it.count();
6296
332
        }
6297
284
        else {
6298
284
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
262
                                             specs, value, loc));
6300
6301
262
            if (need_skipped_width) {
6302
196
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
196
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
196
                        .view()));
6305
196
            }
6306
262
        }
6307
6308
        // Read postfix
6309
594
        std::ptrdiff_t postfix_width = 0;
6310
594
        if (it != rng.end()) {
6311
594
            SCN_TRY(postfix_result,
6312
594
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
594
                                 rd.skip_ws_before_read(), prefix_width,
6314
594
                                 value_width));
6315
594
            std::tie(it, postfix_width) = postfix_result;
6316
594
        }
6317
6318
594
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
594
            specs, prefix_width, value_width, postfix_width));
6320
422
        return it;
6321
594
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
694
    {
6261
694
        const bool need_skipped_width =
6262
694
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
694
        auto it = rng.begin();
6266
694
        std::ptrdiff_t prefix_width = 0;
6267
694
        if (specs.precision != 0) {
6268
398
            auto max_width_view = take_width(rng, specs.precision);
6269
398
            SCN_TRY(prefix_result,
6270
368
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
368
            it = prefix_result.first.base();
6272
368
            prefix_width = prefix_result.second;
6273
368
        }
6274
296
        else {
6275
296
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
296
            std::tie(it, prefix_width) = prefix_result;
6277
296
        }
6278
664
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
664
        std::ptrdiff_t value_width = 0;
6282
664
        if (specs.precision != 0) {
6283
368
            if (specs.precision <= prefix_width) {
6284
8
                return detail::unexpected_scan_error(
6285
8
                    scan_error::invalid_fill,
6286
8
                    "Too many fill characters before value, "
6287
8
                    "precision exceeded before reading value");
6288
8
            }
6289
6290
360
            const auto initial_width = specs.precision - prefix_width;
6291
360
            auto max_width_view =
6292
360
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
360
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
296
        else {
6298
296
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.20k
    {
6261
2.20k
        const bool need_skipped_width =
6262
2.20k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.20k
        auto it = rng.begin();
6266
2.20k
        std::ptrdiff_t prefix_width = 0;
6267
2.20k
        if (specs.precision != 0) {
6268
858
            auto max_width_view = take_width(rng, specs.precision);
6269
858
            SCN_TRY(prefix_result,
6270
830
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
830
            it = prefix_result.first.base();
6272
830
            prefix_width = prefix_result.second;
6273
830
        }
6274
1.35k
        else {
6275
1.35k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.35k
            std::tie(it, prefix_width) = prefix_result;
6277
1.35k
        }
6278
2.18k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.18k
        std::ptrdiff_t value_width = 0;
6282
2.18k
        if (specs.precision != 0) {
6283
830
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
820
            const auto initial_width = specs.precision - prefix_width;
6291
820
            auto max_width_view =
6292
820
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
820
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
478
            it = w_it.base();
6295
478
            value_width = initial_width - w_it.count();
6296
478
        }
6297
1.35k
        else {
6298
1.35k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
784
                                             specs, value, loc));
6300
6301
784
            if (need_skipped_width) {
6302
216
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
216
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
216
                        .view()));
6305
216
            }
6306
784
        }
6307
6308
        // Read postfix
6309
1.26k
        std::ptrdiff_t postfix_width = 0;
6310
1.26k
        if (it != rng.end()) {
6311
906
            SCN_TRY(postfix_result,
6312
906
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
906
                                 rd.skip_ws_before_read(), prefix_width,
6314
906
                                 value_width));
6315
906
            std::tie(it, postfix_width) = postfix_result;
6316
906
        }
6317
6318
1.26k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.26k
            specs, prefix_width, value_width, postfix_width));
6320
1.17k
        return it;
6321
1.26k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.20k
    {
6261
2.20k
        const bool need_skipped_width =
6262
2.20k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.20k
        auto it = rng.begin();
6266
2.20k
        std::ptrdiff_t prefix_width = 0;
6267
2.20k
        if (specs.precision != 0) {
6268
858
            auto max_width_view = take_width(rng, specs.precision);
6269
858
            SCN_TRY(prefix_result,
6270
830
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
830
            it = prefix_result.first.base();
6272
830
            prefix_width = prefix_result.second;
6273
830
        }
6274
1.35k
        else {
6275
1.35k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.35k
            std::tie(it, prefix_width) = prefix_result;
6277
1.35k
        }
6278
2.18k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.18k
        std::ptrdiff_t value_width = 0;
6282
2.18k
        if (specs.precision != 0) {
6283
830
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
820
            const auto initial_width = specs.precision - prefix_width;
6291
820
            auto max_width_view =
6292
820
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
820
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
478
            it = w_it.base();
6295
478
            value_width = initial_width - w_it.count();
6296
478
        }
6297
1.35k
        else {
6298
1.35k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
784
                                             specs, value, loc));
6300
6301
784
            if (need_skipped_width) {
6302
216
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
216
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
216
                        .view()));
6305
216
            }
6306
784
        }
6307
6308
        // Read postfix
6309
1.26k
        std::ptrdiff_t postfix_width = 0;
6310
1.26k
        if (it != rng.end()) {
6311
906
            SCN_TRY(postfix_result,
6312
906
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
906
                                 rd.skip_ws_before_read(), prefix_width,
6314
906
                                 value_width));
6315
906
            std::tie(it, postfix_width) = postfix_result;
6316
906
        }
6317
6318
1.26k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.26k
            specs, prefix_width, value_width, postfix_width));
6320
1.17k
        return it;
6321
1.26k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
2.20k
    {
6261
2.20k
        const bool need_skipped_width =
6262
2.20k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.20k
        auto it = rng.begin();
6266
2.20k
        std::ptrdiff_t prefix_width = 0;
6267
2.20k
        if (specs.precision != 0) {
6268
858
            auto max_width_view = take_width(rng, specs.precision);
6269
858
            SCN_TRY(prefix_result,
6270
830
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
830
            it = prefix_result.first.base();
6272
830
            prefix_width = prefix_result.second;
6273
830
        }
6274
1.35k
        else {
6275
1.35k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.35k
            std::tie(it, prefix_width) = prefix_result;
6277
1.35k
        }
6278
2.18k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.18k
        std::ptrdiff_t value_width = 0;
6282
2.18k
        if (specs.precision != 0) {
6283
830
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
820
            const auto initial_width = specs.precision - prefix_width;
6291
820
            auto max_width_view =
6292
820
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
820
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
478
            it = w_it.base();
6295
478
            value_width = initial_width - w_it.count();
6296
478
        }
6297
1.35k
        else {
6298
1.35k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
784
                                             specs, value, loc));
6300
6301
784
            if (need_skipped_width) {
6302
216
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
216
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
216
                        .view()));
6305
216
            }
6306
784
        }
6307
6308
        // Read postfix
6309
1.26k
        std::ptrdiff_t postfix_width = 0;
6310
1.26k
        if (it != rng.end()) {
6311
906
            SCN_TRY(postfix_result,
6312
906
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
906
                                 rd.skip_ws_before_read(), prefix_width,
6314
906
                                 value_width));
6315
906
            std::tie(it, postfix_width) = postfix_result;
6316
906
        }
6317
6318
1.26k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.26k
            specs, prefix_width, value_width, postfix_width));
6320
1.17k
        return it;
6321
1.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
652
    {
6261
652
        const bool need_skipped_width =
6262
652
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
652
        auto it = rng.begin();
6266
652
        std::ptrdiff_t prefix_width = 0;
6267
652
        if (specs.precision != 0) {
6268
222
            auto max_width_view = take_width(rng, specs.precision);
6269
222
            SCN_TRY(prefix_result,
6270
202
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
202
            it = prefix_result.first.base();
6272
202
            prefix_width = prefix_result.second;
6273
202
        }
6274
430
        else {
6275
430
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
430
            std::tie(it, prefix_width) = prefix_result;
6277
430
        }
6278
632
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
632
        std::ptrdiff_t value_width = 0;
6282
632
        if (specs.precision != 0) {
6283
202
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
200
            const auto initial_width = specs.precision - prefix_width;
6291
200
            auto max_width_view =
6292
200
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
200
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
430
        else {
6298
430
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
74
        std::ptrdiff_t postfix_width = 0;
6310
74
        if (it != rng.end()) {
6311
74
            SCN_TRY(postfix_result,
6312
74
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
74
                                 rd.skip_ws_before_read(), prefix_width,
6314
74
                                 value_width));
6315
74
            std::tie(it, postfix_width) = postfix_result;
6316
74
        }
6317
6318
74
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
74
            specs, prefix_width, value_width, postfix_width));
6320
70
        return it;
6321
74
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
652
    {
6261
652
        const bool need_skipped_width =
6262
652
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
652
        auto it = rng.begin();
6266
652
        std::ptrdiff_t prefix_width = 0;
6267
652
        if (specs.precision != 0) {
6268
222
            auto max_width_view = take_width(rng, specs.precision);
6269
222
            SCN_TRY(prefix_result,
6270
202
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
202
            it = prefix_result.first.base();
6272
202
            prefix_width = prefix_result.second;
6273
202
        }
6274
430
        else {
6275
430
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
430
            std::tie(it, prefix_width) = prefix_result;
6277
430
        }
6278
632
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
632
        std::ptrdiff_t value_width = 0;
6282
632
        if (specs.precision != 0) {
6283
202
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
200
            const auto initial_width = specs.precision - prefix_width;
6291
200
            auto max_width_view =
6292
200
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
200
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
430
        else {
6298
430
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
74
        std::ptrdiff_t postfix_width = 0;
6310
74
        if (it != rng.end()) {
6311
74
            SCN_TRY(postfix_result,
6312
74
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
74
                                 rd.skip_ws_before_read(), prefix_width,
6314
74
                                 value_width));
6315
74
            std::tie(it, postfix_width) = postfix_result;
6316
74
        }
6317
6318
74
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
74
            specs, prefix_width, value_width, postfix_width));
6320
70
        return it;
6321
74
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
516
    {
6261
516
        const bool need_skipped_width =
6262
516
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
516
        auto it = rng.begin();
6266
516
        std::ptrdiff_t prefix_width = 0;
6267
516
        if (specs.precision != 0) {
6268
156
            auto max_width_view = take_width(rng, specs.precision);
6269
156
            SCN_TRY(prefix_result,
6270
148
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
148
            it = prefix_result.first.base();
6272
148
            prefix_width = prefix_result.second;
6273
148
        }
6274
360
        else {
6275
360
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
360
            std::tie(it, prefix_width) = prefix_result;
6277
360
        }
6278
508
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
508
        std::ptrdiff_t value_width = 0;
6282
508
        if (specs.precision != 0) {
6283
148
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
146
            const auto initial_width = specs.precision - prefix_width;
6291
146
            auto max_width_view =
6292
146
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
146
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
10
            it = w_it.base();
6295
10
            value_width = initial_width - w_it.count();
6296
10
        }
6297
360
        else {
6298
360
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
40
                                             specs, value, loc));
6300
6301
40
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
40
        }
6307
6308
        // Read postfix
6309
50
        std::ptrdiff_t postfix_width = 0;
6310
50
        if (it != rng.end()) {
6311
50
            SCN_TRY(postfix_result,
6312
50
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
50
                                 rd.skip_ws_before_read(), prefix_width,
6314
50
                                 value_width));
6315
50
            std::tie(it, postfix_width) = postfix_result;
6316
50
        }
6317
6318
50
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
50
            specs, prefix_width, value_width, postfix_width));
6320
46
        return it;
6321
50
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
756
    {
6261
756
        const bool need_skipped_width =
6262
756
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
756
        auto it = rng.begin();
6266
756
        std::ptrdiff_t prefix_width = 0;
6267
756
        if (specs.precision != 0) {
6268
270
            auto max_width_view = take_width(rng, specs.precision);
6269
270
            SCN_TRY(prefix_result,
6270
248
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
248
            it = prefix_result.first.base();
6272
248
            prefix_width = prefix_result.second;
6273
248
        }
6274
486
        else {
6275
486
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
486
            std::tie(it, prefix_width) = prefix_result;
6277
486
        }
6278
734
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
734
        std::ptrdiff_t value_width = 0;
6282
734
        if (specs.precision != 0) {
6283
248
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
244
            const auto initial_width = specs.precision - prefix_width;
6291
244
            auto max_width_view =
6292
244
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
244
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
22
            it = w_it.base();
6295
22
            value_width = initial_width - w_it.count();
6296
22
        }
6297
486
        else {
6298
486
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
74
        std::ptrdiff_t postfix_width = 0;
6310
74
        if (it != rng.end()) {
6311
74
            SCN_TRY(postfix_result,
6312
74
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
74
                                 rd.skip_ws_before_read(), prefix_width,
6314
74
                                 value_width));
6315
74
            std::tie(it, postfix_width) = postfix_result;
6316
74
        }
6317
6318
74
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
74
            specs, prefix_width, value_width, postfix_width));
6320
70
        return it;
6321
74
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
598
    {
6261
598
        const bool need_skipped_width =
6262
598
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
598
        auto it = rng.begin();
6266
598
        std::ptrdiff_t prefix_width = 0;
6267
598
        if (specs.precision != 0) {
6268
194
            auto max_width_view = take_width(rng, specs.precision);
6269
194
            SCN_TRY(prefix_result,
6270
194
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
194
            it = prefix_result.first.base();
6272
194
            prefix_width = prefix_result.second;
6273
194
        }
6274
404
        else {
6275
404
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
404
            std::tie(it, prefix_width) = prefix_result;
6277
404
        }
6278
598
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
598
        std::ptrdiff_t value_width = 0;
6282
598
        if (specs.precision != 0) {
6283
194
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
192
            const auto initial_width = specs.precision - prefix_width;
6291
192
            auto max_width_view =
6292
192
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
192
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
158
            it = w_it.base();
6295
158
            value_width = initial_width - w_it.count();
6296
158
        }
6297
404
        else {
6298
404
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
364
                                             specs, value, loc));
6300
6301
364
            if (need_skipped_width) {
6302
236
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
236
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
236
                        .view()));
6305
236
            }
6306
364
        }
6307
6308
        // Read postfix
6309
522
        std::ptrdiff_t postfix_width = 0;
6310
522
        if (it != rng.end()) {
6311
522
            SCN_TRY(postfix_result,
6312
522
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
522
                                 rd.skip_ws_before_read(), prefix_width,
6314
522
                                 value_width));
6315
522
            std::tie(it, postfix_width) = postfix_result;
6316
522
        }
6317
6318
522
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
522
            specs, prefix_width, value_width, postfix_width));
6320
294
        return it;
6321
522
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
646
    {
6261
646
        const bool need_skipped_width =
6262
646
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
646
        auto it = rng.begin();
6266
646
        std::ptrdiff_t prefix_width = 0;
6267
646
        if (specs.precision != 0) {
6268
208
            auto max_width_view = take_width(rng, specs.precision);
6269
208
            SCN_TRY(prefix_result,
6270
192
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
192
            it = prefix_result.first.base();
6272
192
            prefix_width = prefix_result.second;
6273
192
        }
6274
438
        else {
6275
438
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
438
            std::tie(it, prefix_width) = prefix_result;
6277
438
        }
6278
630
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
630
        std::ptrdiff_t value_width = 0;
6282
630
        if (specs.precision != 0) {
6283
192
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
188
            const auto initial_width = specs.precision - prefix_width;
6291
188
            auto max_width_view =
6292
188
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
188
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
20
            it = w_it.base();
6295
20
            value_width = initial_width - w_it.count();
6296
20
        }
6297
438
        else {
6298
438
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
70
                                             specs, value, loc));
6300
6301
70
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
70
        }
6307
6308
        // Read postfix
6309
90
        std::ptrdiff_t postfix_width = 0;
6310
90
        if (it != rng.end()) {
6311
90
            SCN_TRY(postfix_result,
6312
90
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
90
                                 rd.skip_ws_before_read(), prefix_width,
6314
90
                                 value_width));
6315
90
            std::tie(it, postfix_width) = postfix_result;
6316
90
        }
6317
6318
90
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
90
            specs, prefix_width, value_width, postfix_width));
6320
86
        return it;
6321
90
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
996
    {
6261
996
        const bool need_skipped_width =
6262
996
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
996
        auto it = rng.begin();
6266
996
        std::ptrdiff_t prefix_width = 0;
6267
996
        if (specs.precision != 0) {
6268
396
            auto max_width_view = take_width(rng, specs.precision);
6269
396
            SCN_TRY(prefix_result,
6270
386
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
386
            it = prefix_result.first.base();
6272
386
            prefix_width = prefix_result.second;
6273
386
        }
6274
600
        else {
6275
600
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
600
            std::tie(it, prefix_width) = prefix_result;
6277
600
        }
6278
986
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
986
        std::ptrdiff_t value_width = 0;
6282
986
        if (specs.precision != 0) {
6283
386
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
380
            const auto initial_width = specs.precision - prefix_width;
6291
380
            auto max_width_view =
6292
380
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
380
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
296
            it = w_it.base();
6295
296
            value_width = initial_width - w_it.count();
6296
296
        }
6297
600
        else {
6298
600
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
536
                                             specs, value, loc));
6300
6301
536
            if (need_skipped_width) {
6302
304
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
304
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
304
                        .view()));
6305
304
            }
6306
536
        }
6307
6308
        // Read postfix
6309
832
        std::ptrdiff_t postfix_width = 0;
6310
832
        if (it != rng.end()) {
6311
494
            SCN_TRY(postfix_result,
6312
494
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
494
                                 rd.skip_ws_before_read(), prefix_width,
6314
494
                                 value_width));
6315
494
            std::tie(it, postfix_width) = postfix_result;
6316
494
        }
6317
6318
832
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
832
            specs, prefix_width, value_width, postfix_width));
6320
754
        return it;
6321
832
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
996
    {
6261
996
        const bool need_skipped_width =
6262
996
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
996
        auto it = rng.begin();
6266
996
        std::ptrdiff_t prefix_width = 0;
6267
996
        if (specs.precision != 0) {
6268
396
            auto max_width_view = take_width(rng, specs.precision);
6269
396
            SCN_TRY(prefix_result,
6270
386
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
386
            it = prefix_result.first.base();
6272
386
            prefix_width = prefix_result.second;
6273
386
        }
6274
600
        else {
6275
600
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
600
            std::tie(it, prefix_width) = prefix_result;
6277
600
        }
6278
986
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
986
        std::ptrdiff_t value_width = 0;
6282
986
        if (specs.precision != 0) {
6283
386
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
380
            const auto initial_width = specs.precision - prefix_width;
6291
380
            auto max_width_view =
6292
380
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
380
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
296
            it = w_it.base();
6295
296
            value_width = initial_width - w_it.count();
6296
296
        }
6297
600
        else {
6298
600
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
536
                                             specs, value, loc));
6300
6301
536
            if (need_skipped_width) {
6302
304
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
304
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
304
                        .view()));
6305
304
            }
6306
536
        }
6307
6308
        // Read postfix
6309
832
        std::ptrdiff_t postfix_width = 0;
6310
832
        if (it != rng.end()) {
6311
494
            SCN_TRY(postfix_result,
6312
494
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
494
                                 rd.skip_ws_before_read(), prefix_width,
6314
494
                                 value_width));
6315
494
            std::tie(it, postfix_width) = postfix_result;
6316
494
        }
6317
6318
832
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
832
            specs, prefix_width, value_width, postfix_width));
6320
754
        return it;
6321
832
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
996
    {
6261
996
        const bool need_skipped_width =
6262
996
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
996
        auto it = rng.begin();
6266
996
        std::ptrdiff_t prefix_width = 0;
6267
996
        if (specs.precision != 0) {
6268
396
            auto max_width_view = take_width(rng, specs.precision);
6269
396
            SCN_TRY(prefix_result,
6270
386
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
386
            it = prefix_result.first.base();
6272
386
            prefix_width = prefix_result.second;
6273
386
        }
6274
600
        else {
6275
600
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
600
            std::tie(it, prefix_width) = prefix_result;
6277
600
        }
6278
986
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
986
        std::ptrdiff_t value_width = 0;
6282
986
        if (specs.precision != 0) {
6283
386
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
380
            const auto initial_width = specs.precision - prefix_width;
6291
380
            auto max_width_view =
6292
380
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
380
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
296
            it = w_it.base();
6295
296
            value_width = initial_width - w_it.count();
6296
296
        }
6297
600
        else {
6298
600
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
536
                                             specs, value, loc));
6300
6301
536
            if (need_skipped_width) {
6302
304
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
304
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
304
                        .view()));
6305
304
            }
6306
536
        }
6307
6308
        // Read postfix
6309
832
        std::ptrdiff_t postfix_width = 0;
6310
832
        if (it != rng.end()) {
6311
494
            SCN_TRY(postfix_result,
6312
494
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
494
                                 rd.skip_ws_before_read(), prefix_width,
6314
494
                                 value_width));
6315
494
            std::tie(it, postfix_width) = postfix_result;
6316
494
        }
6317
6318
832
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
832
            specs, prefix_width, value_width, postfix_width));
6320
754
        return it;
6321
832
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
6322
6323
    template <typename T>
6324
    scan_expected<iterator> operator()(T& value)
6325
32.4k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
32.4k
                          basic_contiguous_scan_context<char_type>>) {
6330
32.4k
            auto rd = make_reader<T, char_type>();
6331
32.4k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
17.6k
            return impl(rd, range, value);
6333
        }
6334
0
        else if constexpr (!detail::is_type_disabled<T>) {
6335
0
            auto rd = make_reader<T, char_type>();
6336
0
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
0
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
0
                specs.width != 0) {
6340
0
                return impl(rd, range, value);
6341
0
            }
6342
6343
0
            auto crange = get_as_contiguous(range);
6344
0
            SCN_TRY(it, impl(rd, crange, value));
6345
0
            return ranges::next(range.begin(),
6346
0
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
32.4k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6325
2.39k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.39k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.39k
            auto rd = make_reader<T, char_type>();
6331
2.39k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
680
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.39k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
2.39k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.39k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.39k
            auto rd = make_reader<T, char_type>();
6331
2.39k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
680
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.39k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6325
2.35k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.35k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.35k
            auto rd = make_reader<T, char_type>();
6331
2.35k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
604
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.35k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6325
2.39k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.39k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.39k
            auto rd = make_reader<T, char_type>();
6331
2.39k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
942
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.39k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6325
2.35k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.35k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.35k
            auto rd = make_reader<T, char_type>();
6331
2.35k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
658
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.35k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6325
2.39k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.39k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.39k
            auto rd = make_reader<T, char_type>();
6331
2.39k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
694
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.39k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
2.35k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.35k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.35k
            auto rd = make_reader<T, char_type>();
6331
2.35k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.20k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.35k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
2.35k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.35k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.35k
            auto rd = make_reader<T, char_type>();
6331
2.35k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.20k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.35k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6325
2.35k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.35k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.35k
            auto rd = make_reader<T, char_type>();
6331
2.35k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.20k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.35k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6325
1.26k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.26k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.26k
            auto rd = make_reader<T, char_type>();
6331
1.26k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
652
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.26k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
1.26k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.26k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.26k
            auto rd = make_reader<T, char_type>();
6331
1.26k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
652
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.26k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6325
1.20k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.20k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.20k
            auto rd = make_reader<T, char_type>();
6331
1.20k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
516
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.20k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6325
1.26k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.26k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.26k
            auto rd = make_reader<T, char_type>();
6331
1.26k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
756
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.26k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6325
1.20k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.20k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.20k
            auto rd = make_reader<T, char_type>();
6331
1.20k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
598
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.20k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6325
1.26k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.26k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.26k
            auto rd = make_reader<T, char_type>();
6331
1.26k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
646
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.26k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
1.20k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.20k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.20k
            auto rd = make_reader<T, char_type>();
6331
1.20k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
996
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.20k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
1.20k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.20k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.20k
            auto rd = make_reader<T, char_type>();
6331
1.20k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
996
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.20k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6325
1.20k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.20k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.20k
            auto rd = make_reader<T, char_type>();
6331
1.20k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
996
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.20k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
6353
6354
    scan_expected<iterator> operator()(
6355
        typename basic_scan_arg<detail::default_context<char_type>>::handle)
6356
        const
6357
0
    {
6358
0
        SCN_EXPECT(false);
6359
0
        SCN_UNREACHABLE;
6360
0
    }
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6361
6362
    range_type range;
6363
    const detail::format_specs& specs;
6364
    detail::locale_ref loc;
6365
};
6366
6367
template <typename Context>
6368
struct custom_reader {
6369
    using context_type = Context;
6370
    using char_type = typename context_type::char_type;
6371
    using parse_context_type = typename context_type::parse_context_type;
6372
    using iterator = typename context_type::iterator;
6373
6374
    template <typename T>
6375
    scan_expected<iterator> operator()(T&) const
6376
0
    {
6377
0
        SCN_EXPECT(false);
6378
0
        SCN_UNREACHABLE;
6379
0
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
6380
6381
    scan_expected<iterator> operator()(
6382
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6383
        const
6384
0
    {
6385
0
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6386
0
        return {ctx.begin()};
6387
0
    }
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6388
6389
    parse_context_type& parse_ctx;
6390
    context_type& ctx;
6391
};
6392
}  // namespace impl
6393
6394
SCN_END_NAMESPACE
6395
}  // namespace scn